From 5c3c6a548ecca93ac57c57ed28240063ea9d4032 Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Sat, 25 Nov 2017 21:25:16 -0600 Subject: [PATCH 01/77] servo: Merge #19374 - geckolib: Return from Servo_ComputeColor whether the value was currentcolor (from heycam:compute-color); r=TYLin Servo part of https://bugzilla.mozilla.org/show_bug.cgi?id=1420026, reviewed there by TYLin. Source-Repo: https://github.com/servo/servo Source-Revision: b8b5c5371f66a95da9ffb238cba2c549f4c85f59 --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : abb4932506d8df0e29b9485f10f7e085c8e48638 --- servo/components/style/gecko/generated/bindings.rs | 4 ++-- servo/ports/geckolib/glue.rs | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/servo/components/style/gecko/generated/bindings.rs b/servo/components/style/gecko/generated/bindings.rs index 1e09fa42baf4..aa320c6a4953 100644 --- a/servo/components/style/gecko/generated/bindings.rs +++ b/servo/components/style/gecko/generated/bindings.rs @@ -1574,7 +1574,7 @@ extern "C" { } extern "C" { pub fn Servo_IsValidCSSColor ( value : * const nsAString , ) -> bool ; } extern "C" { - pub fn Servo_ComputeColor ( set : RawServoStyleSetBorrowedOrNull , current_color : nscolor , value : * const nsAString , result_color : * mut nscolor , ) -> bool ; + pub fn Servo_ComputeColor ( set : RawServoStyleSetBorrowedOrNull , current_color : nscolor , value : * const nsAString , result_color : * mut nscolor , was_current_color : * mut bool , ) -> bool ; } extern "C" { pub fn Servo_ParseIntersectionObserverRootMargin ( value : * const nsAString , result : * mut nsCSSRect , ) -> bool ; } extern "C" { @@ -1587,4 +1587,4 @@ extern "C" { pub fn Gecko_ContentList_AppendAll ( aContentList : * mut nsSimpleContentList , aElements : * mut * const RawGeckoElement , aLength : usize , ) ; } extern "C" { pub fn Gecko_GetElementsWithId ( aDocument : * const nsIDocument , aId : * mut nsAtom , ) -> * const nsTArray < * mut Element > ; -} \ No newline at end of file +} diff --git a/servo/ports/geckolib/glue.rs b/servo/ports/geckolib/glue.rs index c0b60adaad50..f7733b37516f 100644 --- a/servo/ports/geckolib/glue.rs +++ b/servo/ports/geckolib/glue.rs @@ -4559,6 +4559,7 @@ pub extern "C" fn Servo_ComputeColor( current_color: structs::nscolor, value: *const nsAString, result_color: *mut structs::nscolor, + was_current_color: *mut bool, ) -> bool { use style::gecko; @@ -4593,6 +4594,11 @@ pub extern "C" fn Servo_ComputeColor( Some(computed_color) => { let rgba = computed_color.to_rgba(current_color); *result_color = gecko::values::convert_rgba_to_nscolor(&rgba); + if !was_current_color.is_null() { + unsafe { + *was_current_color = computed_color.is_currentcolor(); + } + } true } None => false, From c43a171e04410be060e1de4f2b881f95f6a66c5c Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Fri, 24 Nov 2017 11:29:16 +0800 Subject: [PATCH 02/77] Bug 1420026 - Part 1: Add aWasCurrentColor outparam to ServoCSSParser::ComputeColor. r=TYLin MozReview-Commit-ID: 74m3KCXa2N2 --HG-- extra : rebase_source : 15196ded309ad9676091c13f0c44ce70d5e6ec3c --- layout/style/ServoBindingList.h | 3 ++- layout/style/ServoCSSParser.cpp | 6 ++++-- layout/style/ServoCSSParser.h | 5 ++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/layout/style/ServoBindingList.h b/layout/style/ServoBindingList.h index 4b4a0085f119..5f422ccc6791 100644 --- a/layout/style/ServoBindingList.h +++ b/layout/style/ServoBindingList.h @@ -744,7 +744,8 @@ SERVO_BINDING_FUNC(Servo_ComputeColor, bool, RawServoStyleSetBorrowedOrNull set, nscolor current_color, const nsAString* value, - nscolor* result_color); + nscolor* result_color, + bool* was_current_color); SERVO_BINDING_FUNC(Servo_ParseIntersectionObserverRootMargin, bool, const nsAString* value, nsCSSRect* result); diff --git a/layout/style/ServoCSSParser.cpp b/layout/style/ServoCSSParser.cpp index c8c33cc448cf..ad3dc45e923b 100644 --- a/layout/style/ServoCSSParser.cpp +++ b/layout/style/ServoCSSParser.cpp @@ -20,10 +20,12 @@ ServoCSSParser::IsValidCSSColor(const nsAString& aValue) ServoCSSParser::ComputeColor(ServoStyleSet* aStyleSet, nscolor aCurrentColor, const nsAString& aValue, - nscolor* aResultColor) + nscolor* aResultColor, + bool* aWasCurrentColor) { return Servo_ComputeColor(aStyleSet ? aStyleSet->RawSet() : nullptr, - aCurrentColor, &aValue, aResultColor); + aCurrentColor, &aValue, aResultColor, + aWasCurrentColor); } /* static */ bool diff --git a/layout/style/ServoCSSParser.h b/layout/style/ServoCSSParser.h index 08db2958166b..f1c3bd49d522 100644 --- a/layout/style/ServoCSSParser.h +++ b/layout/style/ServoCSSParser.h @@ -32,12 +32,15 @@ public: * @param aCurrentColor The color value that currentcolor should compute to. * @param aValue The CSS value. * @param aResultColor The resulting computed color value. + * @param aWasCurrentColor Whether aValue was currentcolor. Can be nullptr + * if the caller doesn't care. * @return Whether aValue was successfully parsed and aResultColor was set. */ static bool ComputeColor(ServoStyleSet* aStyleSet, nscolor aCurrentColor, const nsAString& aValue, - nscolor* aResultColor); + nscolor* aResultColor, + bool* aWasCurrentColor = nullptr); /** * Parses a IntersectionObserver's initialization dictionary's rootMargin From f096cf64fe722000e13523f8f2b20416b4b39232 Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Fri, 24 Nov 2017 11:30:02 +0800 Subject: [PATCH 03/77] Bug 1420026 - Part 2: Replace one more use of nsCSSParser::ParseColor with ServoCSSParser::ComputeColor. r=TYLin MozReview-Commit-ID: FIqhPFKS1IR --HG-- extra : rebase_source : 9ee67d77c936c60c6ff5866088a43c80f0f3c2eb --- dom/canvas/CanvasRenderingContext2D.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp index 2f000f5361a4..df9c2750ac5a 100644 --- a/dom/canvas/CanvasRenderingContext2D.cpp +++ b/dom/canvas/CanvasRenderingContext2D.cpp @@ -1167,6 +1167,27 @@ CanvasRenderingContext2D::ParseColor(const nsAString& aString, ? mCanvasElement->OwnerDoc() : nullptr; + if (document->IsStyledByServo()) { + nsCOMPtr presShell = GetPresShell(); + ServoStyleSet* set = presShell ? presShell->StyleSet()->AsServo() : nullptr; + + // First, try computing the color without handling currentcolor. + bool wasCurrentColor = false; + if (!ServoCSSParser::ComputeColor(set, NS_RGB(0, 0, 0), aString, aColor, + &wasCurrentColor)) { + return false; + } + + if (wasCurrentColor) { + // Otherwise, get the value of the color property, flushing style + // if necessary. + RefPtr canvasStyle = + nsComputedDOMStyle::GetStyleContext(mCanvasElement, nullptr, presShell); + *aColor = canvasStyle->StyleColor()->mColor; + } + return true; + } + // Pass the CSS Loader object to the parser, to allow parser error // reports to include the outer window ID. nsCSSParser parser(document ? document->CSSLoader() : nullptr); From 6c9d3c567ef0638e0c029c019ddf6c223800987a Mon Sep 17 00:00:00 2001 From: Ting-Yu Lin Date: Sun, 26 Nov 2017 03:30:39 -0600 Subject: [PATCH 04/77] servo: Merge #19376 - style: Support shape-image: (from aethanyc:shape-image); r=heycam This is reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1404222 Source-Repo: https://github.com/servo/servo Source-Revision: 286ac51c0727c43239c782d9fc4759f0c0d4690b --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : eed86f694275322017819d3876c96f36cdab063d --- servo/components/style/gecko/conversions.rs | 68 +- .../style/gecko/generated/bindings.rs | 587 +++++++++++++++++- .../style/gecko/generated/structs.rs | 491 +++++++-------- .../components/style/properties/gecko.mako.rs | 18 +- .../style/values/computed/basic_shape.rs | 4 +- .../style/values/generics/basic_shape.rs | 6 +- .../style/values/specified/basic_shape.rs | 13 +- 7 files changed, 915 insertions(+), 272 deletions(-) diff --git a/servo/components/style/gecko/conversions.rs b/servo/components/style/gecko/conversions.rs index c23f760fa04f..6d082549dfce 100644 --- a/servo/components/style/gecko/conversions.rs +++ b/servo/components/style/gecko/conversions.rs @@ -596,7 +596,7 @@ pub mod basic_shape { use gecko_bindings::sugar::ns_style_coord::{CoordDataMut, CoordDataValue}; use std::borrow::Borrow; use values::computed::ComputedUrl; - use values::computed::basic_shape::{BasicShape, ShapeRadius}; + use values::computed::basic_shape::{BasicShape, ClippingShape, FloatAreaShape, ShapeRadius}; use values::computed::border::{BorderCornerRadius, BorderRadius}; use values::computed::length::LengthOrPercentage; use values::computed::position; @@ -606,32 +606,68 @@ pub mod basic_shape { use values::generics::border::BorderRadius as GenericBorderRadius; use values::generics::rect::Rect; - impl<'a, ReferenceBox> From<&'a StyleShapeSource> for ShapeSource - where - ReferenceBox: From, + impl StyleShapeSource { + /// Convert StyleShapeSource to ShapeSource except URL and Image + /// types. + fn into_shape_source( + &self + ) -> Option> + where + ReferenceBox: From + { + match self.mType { + StyleShapeSourceType::None => Some(ShapeSource::None), + StyleShapeSourceType::Box => Some(ShapeSource::Box(self.mReferenceBox.into())), + StyleShapeSourceType::Shape => { + let other_shape = unsafe { &*self.mBasicShape.mPtr }; + let shape = other_shape.into(); + let reference_box = if self.mReferenceBox == StyleGeometryBox::NoBox { + None + } else { + Some(self.mReferenceBox.into()) + }; + Some(ShapeSource::Shape(shape, reference_box)) + }, + StyleShapeSourceType::URL | StyleShapeSourceType::Image => None, + } + } + } + + impl<'a> From<&'a StyleShapeSource> for ClippingShape { fn from(other: &'a StyleShapeSource) -> Self { match other.mType { - StyleShapeSourceType::None => ShapeSource::None, - StyleShapeSourceType::Box => ShapeSource::Box(other.mReferenceBox.into()), StyleShapeSourceType::URL => { unsafe { let shape_image = &*other.mShapeImage.mPtr; let other_url = &(**shape_image.__bindgen_anon_1.mURLValue.as_ref()); let url = ComputedUrl::from_url_value_data(&other_url._base).unwrap(); - ShapeSource::Url(url) + ShapeSource::ImageOrUrl(url) } }, - StyleShapeSourceType::Shape => { - let other_shape = unsafe { &*other.mBasicShape.mPtr }; - let shape = other_shape.into(); - let reference_box = if other.mReferenceBox == StyleGeometryBox::NoBox { - None - } else { - Some(other.mReferenceBox.into()) - }; - ShapeSource::Shape(shape, reference_box) + StyleShapeSourceType::Image => { + unreachable!("ClippingShape doesn't support Image!"); } + _ => other.into_shape_source().expect("Couldn't convert to StyleSource!") + } + } + } + + impl<'a> From<&'a StyleShapeSource> for FloatAreaShape + { + fn from(other: &'a StyleShapeSource) -> Self { + match other.mType { + StyleShapeSourceType::URL => { + unreachable!("FloatAreaShape doesn't support URL!"); + }, + StyleShapeSourceType::Image => { + unsafe { + let shape_image = &*other.mShapeImage.mPtr; + let image = shape_image.into_image().expect("Cannot convert to Image"); + ShapeSource::ImageOrUrl(image) + } + } + _ => other.into_shape_source().expect("Couldn't convert to StyleSource!") } } } diff --git a/servo/components/style/gecko/generated/bindings.rs b/servo/components/style/gecko/generated/bindings.rs index aa320c6a4953..9b15d09364a7 100644 --- a/servo/components/style/gecko/generated/bindings.rs +++ b/servo/components/style/gecko/generated/bindings.rs @@ -424,1167 +424,1752 @@ enum RawServoRuleNodeVoid { } pub struct RawServoRuleNode(RawServoRuleNodeVoid); extern "C" { + # [ link_name = "\u{1}_Gecko_EnsureTArrayCapacity" ] pub fn Gecko_EnsureTArrayCapacity ( aArray : * mut :: std :: os :: raw :: c_void , aCapacity : usize , aElementSize : usize , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ClearPODTArray" ] pub fn Gecko_ClearPODTArray ( aArray : * mut :: std :: os :: raw :: c_void , aElementSize : usize , aElementAlign : usize , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_AddRef" ] pub fn Servo_CssRules_AddRef ( ptr : ServoCssRulesBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_Release" ] pub fn Servo_CssRules_Release ( ptr : ServoCssRulesBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheetContents_AddRef" ] pub fn Servo_StyleSheetContents_AddRef ( ptr : RawServoStyleSheetContentsBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheetContents_Release" ] pub fn Servo_StyleSheetContents_Release ( ptr : RawServoStyleSheetContentsBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_AddRef" ] pub fn Servo_DeclarationBlock_AddRef ( ptr : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_Release" ] pub fn Servo_DeclarationBlock_Release ( ptr : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_AddRef" ] pub fn Servo_StyleRule_AddRef ( ptr : RawServoStyleRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_Release" ] pub fn Servo_StyleRule_Release ( ptr : RawServoStyleRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_ImportRule_AddRef" ] pub fn Servo_ImportRule_AddRef ( ptr : RawServoImportRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_ImportRule_Release" ] pub fn Servo_ImportRule_Release ( ptr : RawServoImportRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValue_AddRef" ] pub fn Servo_AnimationValue_AddRef ( ptr : RawServoAnimationValueBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValue_Release" ] pub fn Servo_AnimationValue_Release ( ptr : RawServoAnimationValueBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_Keyframe_AddRef" ] pub fn Servo_Keyframe_AddRef ( ptr : RawServoKeyframeBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_Keyframe_Release" ] pub fn Servo_Keyframe_Release ( ptr : RawServoKeyframeBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_AddRef" ] pub fn Servo_KeyframesRule_AddRef ( ptr : RawServoKeyframesRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_Release" ] pub fn Servo_KeyframesRule_Release ( ptr : RawServoKeyframesRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_AddRef" ] pub fn Servo_MediaList_AddRef ( ptr : RawServoMediaListBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_Release" ] pub fn Servo_MediaList_Release ( ptr : RawServoMediaListBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaRule_AddRef" ] pub fn Servo_MediaRule_AddRef ( ptr : RawServoMediaRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaRule_Release" ] pub fn Servo_MediaRule_Release ( ptr : RawServoMediaRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_NamespaceRule_AddRef" ] pub fn Servo_NamespaceRule_AddRef ( ptr : RawServoNamespaceRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_NamespaceRule_Release" ] pub fn Servo_NamespaceRule_Release ( ptr : RawServoNamespaceRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_PageRule_AddRef" ] pub fn Servo_PageRule_AddRef ( ptr : RawServoPageRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_PageRule_Release" ] pub fn Servo_PageRule_Release ( ptr : RawServoPageRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_SupportsRule_AddRef" ] pub fn Servo_SupportsRule_AddRef ( ptr : RawServoSupportsRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_SupportsRule_Release" ] pub fn Servo_SupportsRule_Release ( ptr : RawServoSupportsRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DocumentRule_AddRef" ] pub fn Servo_DocumentRule_AddRef ( ptr : RawServoDocumentRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DocumentRule_Release" ] pub fn Servo_DocumentRule_Release ( ptr : RawServoDocumentRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_AddRef" ] pub fn Servo_FontFeatureValuesRule_AddRef ( ptr : RawServoFontFeatureValuesRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_Release" ] pub fn Servo_FontFeatureValuesRule_Release ( ptr : RawServoFontFeatureValuesRuleBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_RuleNode_AddRef" ] pub fn Servo_RuleNode_AddRef ( ptr : RawServoRuleNodeBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_RuleNode_Release" ] pub fn Servo_RuleNode_Release ( ptr : RawServoRuleNodeBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_Drop" ] pub fn Servo_StyleSet_Drop ( ptr : RawServoStyleSetOwned , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_SelectorList_Drop" ] pub fn Servo_SelectorList_Drop ( ptr : RawServoSelectorListOwned , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_SourceSizeList_Drop" ] pub fn Servo_SourceSizeList_Drop ( ptr : RawServoSourceSizeListOwned , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_IsInDocument" ] pub fn Gecko_IsInDocument ( node : RawGeckoNodeBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_FlattenedTreeParentIsParent" ] pub fn Gecko_FlattenedTreeParentIsParent ( node : RawGeckoNodeBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_IsSignificantChild" ] pub fn Gecko_IsSignificantChild ( node : RawGeckoNodeBorrowed , text_is_significant : bool , whitespace_is_significant : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetLastChild" ] pub fn Gecko_GetLastChild ( node : RawGeckoNodeBorrowed , ) -> RawGeckoNodeBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetFlattenedTreeParentNode" ] pub fn Gecko_GetFlattenedTreeParentNode ( node : RawGeckoNodeBorrowed , ) -> RawGeckoNodeBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetBeforeOrAfterPseudo" ] pub fn Gecko_GetBeforeOrAfterPseudo ( element : RawGeckoElementBorrowed , is_before : bool , ) -> RawGeckoElementBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetAnonymousContentForElement" ] pub fn Gecko_GetAnonymousContentForElement ( element : RawGeckoElementBorrowed , ) -> * mut nsTArray < * mut nsIContent > ; } extern "C" { + # [ link_name = "\u{1}_Gecko_DestroyAnonymousContentList" ] pub fn Gecko_DestroyAnonymousContentList ( anon_content : * mut nsTArray < * mut nsIContent > , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ServoStyleContext_Init" ] pub fn Gecko_ServoStyleContext_Init ( context : * mut ServoStyleContext , parent_context : ServoStyleContextBorrowedOrNull , pres_context : RawGeckoPresContextBorrowed , values : ServoComputedDataBorrowed , pseudo_type : CSSPseudoElementType , pseudo_tag : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ServoStyleContext_Destroy" ] pub fn Gecko_ServoStyleContext_Destroy ( context : * mut ServoStyleContext , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ConstructStyleChildrenIterator" ] pub fn Gecko_ConstructStyleChildrenIterator ( aElement : RawGeckoElementBorrowed , aIterator : RawGeckoStyleChildrenIteratorBorrowedMut , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_DestroyStyleChildrenIterator" ] pub fn Gecko_DestroyStyleChildrenIterator ( aIterator : RawGeckoStyleChildrenIteratorBorrowedMut , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetNextStyleChild" ] pub fn Gecko_GetNextStyleChild ( it : RawGeckoStyleChildrenIteratorBorrowedMut , ) -> RawGeckoNodeBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_LoadStyleSheet" ] pub fn Gecko_LoadStyleSheet ( loader : * mut Loader , parent : * mut ServoStyleSheet , reusable_sheets : * mut LoaderReusableStyleSheets , base_url_data : * mut RawGeckoURLExtraData , url_bytes : * const u8 , url_length : u32 , media_list : RawServoMediaListStrong , ) -> * mut ServoStyleSheet ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ElementState" ] pub fn Gecko_ElementState ( element : RawGeckoElementBorrowed , ) -> u64 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_DocumentState" ] pub fn Gecko_DocumentState ( aDocument : * const nsIDocument , ) -> u64 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_IsRootElement" ] pub fn Gecko_IsRootElement ( element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_MatchesElement" ] pub fn Gecko_MatchesElement ( type_ : CSSPseudoClassType , element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Namespace" ] pub fn Gecko_Namespace ( element : RawGeckoElementBorrowed , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Gecko_MatchLang" ] pub fn Gecko_MatchLang ( element : RawGeckoElementBorrowed , override_lang : * mut nsAtom , has_override_lang : bool , value : * const u16 , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetXMLLangValue" ] pub fn Gecko_GetXMLLangValue ( element : RawGeckoElementBorrowed , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetDocumentLWTheme" ] pub fn Gecko_GetDocumentLWTheme ( aDocument : * const nsIDocument , ) -> nsIDocument_DocumentTheme ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AtomAttrValue" ] pub fn Gecko_AtomAttrValue ( element : RawGeckoElementBorrowed , attribute : * mut nsAtom , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Gecko_LangValue" ] pub fn Gecko_LangValue ( element : RawGeckoElementBorrowed , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Gecko_HasAttr" ] pub fn Gecko_HasAttr ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AttrEquals" ] pub fn Gecko_AttrEquals ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignoreCase : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AttrDashEquals" ] pub fn Gecko_AttrDashEquals ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AttrIncludes" ] pub fn Gecko_AttrIncludes ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AttrHasSubstring" ] pub fn Gecko_AttrHasSubstring ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AttrHasPrefix" ] pub fn Gecko_AttrHasPrefix ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AttrHasSuffix" ] pub fn Gecko_AttrHasSuffix ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ClassOrClassList" ] pub fn Gecko_ClassOrClassList ( element : RawGeckoElementBorrowed , class_ : * mut * mut nsAtom , classList : * mut * mut * mut nsAtom , ) -> u32 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SnapshotAtomAttrValue" ] pub fn Gecko_SnapshotAtomAttrValue ( element : * const ServoElementSnapshot , attribute : * mut nsAtom , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SnapshotLangValue" ] pub fn Gecko_SnapshotLangValue ( element : * const ServoElementSnapshot , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SnapshotHasAttr" ] pub fn Gecko_SnapshotHasAttr ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SnapshotAttrEquals" ] pub fn Gecko_SnapshotAttrEquals ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignoreCase : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SnapshotAttrDashEquals" ] pub fn Gecko_SnapshotAttrDashEquals ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SnapshotAttrIncludes" ] pub fn Gecko_SnapshotAttrIncludes ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SnapshotAttrHasSubstring" ] pub fn Gecko_SnapshotAttrHasSubstring ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SnapshotAttrHasPrefix" ] pub fn Gecko_SnapshotAttrHasPrefix ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SnapshotAttrHasSuffix" ] pub fn Gecko_SnapshotAttrHasSuffix ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SnapshotClassOrClassList" ] pub fn Gecko_SnapshotClassOrClassList ( element : * const ServoElementSnapshot , class_ : * mut * mut nsAtom , classList : * mut * mut * mut nsAtom , ) -> u32 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetStyleAttrDeclarationBlock" ] pub fn Gecko_GetStyleAttrDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_UnsetDirtyStyleAttr" ] pub fn Gecko_UnsetDirtyStyleAttr ( element : RawGeckoElementBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetHTMLPresentationAttrDeclarationBlock" ] pub fn Gecko_GetHTMLPresentationAttrDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetExtraContentStyleDeclarations" ] pub fn Gecko_GetExtraContentStyleDeclarations ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetUnvisitedLinkAttrDeclarationBlock" ] pub fn Gecko_GetUnvisitedLinkAttrDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetVisitedLinkAttrDeclarationBlock" ] pub fn Gecko_GetVisitedLinkAttrDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetActiveLinkAttrDeclarationBlock" ] pub fn Gecko_GetActiveLinkAttrDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_IsPrivateBrowsingEnabled" ] pub fn Gecko_IsPrivateBrowsingEnabled ( aDoc : * const nsIDocument , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetAnimationRule" ] pub fn Gecko_GetAnimationRule ( aElementOrPseudo : RawGeckoElementBorrowed , aCascadeLevel : EffectCompositor_CascadeLevel , aAnimationValues : RawServoAnimationValueMapBorrowedMut , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetSMILOverrideDeclarationBlock" ] pub fn Gecko_GetSMILOverrideDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_StyleAnimationsEquals" ] pub fn Gecko_StyleAnimationsEquals ( arg1 : RawGeckoStyleAnimationListBorrowed , arg2 : RawGeckoStyleAnimationListBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyAnimationNames" ] pub fn Gecko_CopyAnimationNames ( aDest : RawGeckoStyleAnimationListBorrowedMut , aSrc : RawGeckoStyleAnimationListBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetAnimationName" ] pub fn Gecko_SetAnimationName ( aStyleAnimation : * mut StyleAnimation , aAtom : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_UpdateAnimations" ] pub fn Gecko_UpdateAnimations ( aElementOrPseudo : RawGeckoElementBorrowed , aOldComputedValues : ServoStyleContextBorrowedOrNull , aComputedValues : ServoStyleContextBorrowedOrNull , aTasks : UpdateAnimationsTasks , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ElementHasAnimations" ] pub fn Gecko_ElementHasAnimations ( aElementOrPseudo : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ElementHasCSSAnimations" ] pub fn Gecko_ElementHasCSSAnimations ( aElementOrPseudo : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ElementHasCSSTransitions" ] pub fn Gecko_ElementHasCSSTransitions ( aElementOrPseudo : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ElementTransitions_Length" ] pub fn Gecko_ElementTransitions_Length ( aElementOrPseudo : RawGeckoElementBorrowed , ) -> usize ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ElementTransitions_PropertyAt" ] pub fn Gecko_ElementTransitions_PropertyAt ( aElementOrPseudo : RawGeckoElementBorrowed , aIndex : usize , ) -> nsCSSPropertyID ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ElementTransitions_EndValueAt" ] pub fn Gecko_ElementTransitions_EndValueAt ( aElementOrPseudo : RawGeckoElementBorrowed , aIndex : usize , ) -> RawServoAnimationValueBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetProgressFromComputedTiming" ] pub fn Gecko_GetProgressFromComputedTiming ( aComputedTiming : RawGeckoComputedTimingBorrowed , ) -> f64 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetPositionInSegment" ] pub fn Gecko_GetPositionInSegment ( aSegment : RawGeckoAnimationPropertySegmentBorrowed , aProgress : f64 , aBeforeFlag : ComputedTimingFunction_BeforeFlag , ) -> f64 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AnimationGetBaseStyle" ] pub fn Gecko_AnimationGetBaseStyle ( aBaseStyles : RawServoAnimationValueTableBorrowed , aProperty : nsCSSPropertyID , ) -> RawServoAnimationValueBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_StyleTransition_SetUnsupportedProperty" ] pub fn Gecko_StyleTransition_SetUnsupportedProperty ( aTransition : * mut StyleTransition , aAtom : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Atomize" ] pub fn Gecko_Atomize ( aString : * const :: std :: os :: raw :: c_char , aLength : u32 , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Atomize16" ] pub fn Gecko_Atomize16 ( aString : * const nsAString , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddRefAtom" ] pub fn Gecko_AddRefAtom ( aAtom : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReleaseAtom" ] pub fn Gecko_ReleaseAtom ( aAtom : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetAtomAsUTF16" ] pub fn Gecko_GetAtomAsUTF16 ( aAtom : * mut nsAtom , aLength : * mut u32 , ) -> * const u16 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AtomEqualsUTF8" ] pub fn Gecko_AtomEqualsUTF8 ( aAtom : * mut nsAtom , aString : * const :: std :: os :: raw :: c_char , aLength : u32 , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AtomEqualsUTF8IgnoreCase" ] pub fn Gecko_AtomEqualsUTF8IgnoreCase ( aAtom : * mut nsAtom , aString : * const :: std :: os :: raw :: c_char , aLength : u32 , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_EnsureMozBorderColors" ] pub fn Gecko_EnsureMozBorderColors ( aBorder : * mut nsStyleBorder , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyFontFamilyFrom" ] pub fn Gecko_CopyFontFamilyFrom ( dst : * mut nsFont , src : * const nsFont , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsTArray_FontFamilyName_AppendNamed" ] pub fn Gecko_nsTArray_FontFamilyName_AppendNamed ( aNames : * mut nsTArray < FontFamilyName > , aName : * mut nsAtom , aQuoted : bool , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsTArray_FontFamilyName_AppendGeneric" ] pub fn Gecko_nsTArray_FontFamilyName_AppendGeneric ( aNames : * mut nsTArray < FontFamilyName > , aType : FontFamilyType , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SharedFontList_Create" ] pub fn Gecko_SharedFontList_Create ( ) -> * mut SharedFontList ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SharedFontList_SizeOfIncludingThis" ] pub fn Gecko_SharedFontList_SizeOfIncludingThis ( fontlist : * mut SharedFontList , ) -> usize ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SharedFontList_SizeOfIncludingThisIfUnshared" ] pub fn Gecko_SharedFontList_SizeOfIncludingThisIfUnshared ( fontlist : * mut SharedFontList , ) -> usize ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddRefSharedFontListArbitraryThread" ] pub fn Gecko_AddRefSharedFontListArbitraryThread ( aPtr : * mut SharedFontList , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReleaseSharedFontListArbitraryThread" ] pub fn Gecko_ReleaseSharedFontListArbitraryThread ( aPtr : * mut SharedFontList , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsFont_InitSystem" ] pub fn Gecko_nsFont_InitSystem ( dst : * mut nsFont , font_id : i32 , font : * const nsStyleFont , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsFont_Destroy" ] pub fn Gecko_nsFont_Destroy ( dst : * mut nsFont , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ConstructFontFeatureValueSet" ] pub fn Gecko_ConstructFontFeatureValueSet ( ) -> * mut gfxFontFeatureValueSet ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AppendFeatureValueHashEntry" ] pub fn Gecko_AppendFeatureValueHashEntry ( value_set : * mut gfxFontFeatureValueSet , family : * mut nsAtom , alternate : u32 , name : * mut nsAtom , ) -> * mut nsTArray < :: std :: os :: raw :: c_uint > ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsFont_SetFontFeatureValuesLookup" ] pub fn Gecko_nsFont_SetFontFeatureValuesLookup ( font : * mut nsFont , pres_context : * const RawGeckoPresContext , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsFont_ResetFontFeatureValuesLookup" ] pub fn Gecko_nsFont_ResetFontFeatureValuesLookup ( font : * mut nsFont , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ClearAlternateValues" ] pub fn Gecko_ClearAlternateValues ( font : * mut nsFont , length : usize , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AppendAlternateValues" ] pub fn Gecko_AppendAlternateValues ( font : * mut nsFont , alternate_name : u32 , atom : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyAlternateValuesFrom" ] pub fn Gecko_CopyAlternateValuesFrom ( dest : * mut nsFont , src : * const nsFont , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetImageOrientation" ] pub fn Gecko_SetImageOrientation ( aVisibility : * mut nsStyleVisibility , aOrientation : u8 , aFlip : bool , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetImageOrientationAsFromImage" ] pub fn Gecko_SetImageOrientationAsFromImage ( aVisibility : * mut nsStyleVisibility , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyImageOrientationFrom" ] pub fn Gecko_CopyImageOrientationFrom ( aDst : * mut nsStyleVisibility , aSrc : * const nsStyleVisibility , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetCounterStyleToName" ] pub fn Gecko_SetCounterStyleToName ( ptr : * mut CounterStylePtr , name : * mut nsAtom , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetCounterStyleToSymbols" ] pub fn Gecko_SetCounterStyleToSymbols ( ptr : * mut CounterStylePtr , symbols_type : u8 , symbols : * const * const nsACString , symbols_count : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetCounterStyleToString" ] pub fn Gecko_SetCounterStyleToString ( ptr : * mut CounterStylePtr , symbol : * const nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyCounterStyle" ] pub fn Gecko_CopyCounterStyle ( dst : * mut CounterStylePtr , src : * const CounterStylePtr , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CounterStyle_GetName" ] pub fn Gecko_CounterStyle_GetName ( ptr : * const CounterStylePtr , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CounterStyle_GetAnonymous" ] pub fn Gecko_CounterStyle_GetAnonymous ( ptr : * const CounterStylePtr , ) -> * const AnonymousCounterStyle ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetNullImageValue" ] pub fn Gecko_SetNullImageValue ( image : * mut nsStyleImage , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetGradientImageValue" ] pub fn Gecko_SetGradientImageValue ( image : * mut nsStyleImage , gradient : * mut nsStyleGradient , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddRefImageValueArbitraryThread" ] pub fn Gecko_AddRefImageValueArbitraryThread ( aPtr : * mut ImageValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReleaseImageValueArbitraryThread" ] pub fn Gecko_ReleaseImageValueArbitraryThread ( aPtr : * mut ImageValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ImageValue_Create" ] pub fn Gecko_ImageValue_Create ( aURI : ServoBundledURI , aURIString : ServoRawOffsetArc < RustString > , ) -> * mut ImageValue ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ImageValue_SizeOfIncludingThis" ] pub fn Gecko_ImageValue_SizeOfIncludingThis ( aImageValue : * mut ImageValue , ) -> usize ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetLayerImageImageValue" ] pub fn Gecko_SetLayerImageImageValue ( image : * mut nsStyleImage , aImageValue : * mut ImageValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetImageElement" ] pub fn Gecko_SetImageElement ( image : * mut nsStyleImage , atom : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyImageValueFrom" ] pub fn Gecko_CopyImageValueFrom ( image : * mut nsStyleImage , other : * const nsStyleImage , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_InitializeImageCropRect" ] pub fn Gecko_InitializeImageCropRect ( image : * mut nsStyleImage , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CreateGradient" ] pub fn Gecko_CreateGradient ( shape : u8 , size : u8 , repeating : bool , legacy_syntax : bool , moz_legacy_syntax : bool , stops : u32 , ) -> * mut nsStyleGradient ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetURLValue" ] pub fn Gecko_GetURLValue ( image : * const nsStyleImage , ) -> * const URLValueData ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetImageElement" ] pub fn Gecko_GetImageElement ( image : * const nsStyleImage , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetGradientImageValue" ] pub fn Gecko_GetGradientImageValue ( image : * const nsStyleImage , ) -> * const nsStyleGradient ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetListStyleImageNone" ] pub fn Gecko_SetListStyleImageNone ( style_struct : * mut nsStyleList , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetListStyleImageImageValue" ] pub fn Gecko_SetListStyleImageImageValue ( style_struct : * mut nsStyleList , aImageValue : * mut ImageValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyListStyleImageFrom" ] pub fn Gecko_CopyListStyleImageFrom ( dest : * mut nsStyleList , src : * const nsStyleList , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetCursorArrayLength" ] pub fn Gecko_SetCursorArrayLength ( ui : * mut nsStyleUserInterface , len : usize , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetCursorImageValue" ] pub fn Gecko_SetCursorImageValue ( aCursor : * mut nsCursorImage , aImageValue : * mut ImageValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyCursorArrayFrom" ] pub fn Gecko_CopyCursorArrayFrom ( dest : * mut nsStyleUserInterface , src : * const nsStyleUserInterface , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetContentDataImageValue" ] pub fn Gecko_SetContentDataImageValue ( aList : * mut nsStyleContentData , aImageValue : * mut ImageValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetCounterFunction" ] pub fn Gecko_SetCounterFunction ( content_data : * mut nsStyleContentData , type_ : nsStyleContentType , ) -> * mut nsStyleContentData_CounterFunction ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetNodeFlags" ] pub fn Gecko_SetNodeFlags ( node : RawGeckoNodeBorrowed , flags : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_UnsetNodeFlags" ] pub fn Gecko_UnsetNodeFlags ( node : RawGeckoNodeBorrowed , flags : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NoteDirtyElement" ] pub fn Gecko_NoteDirtyElement ( element : RawGeckoElementBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NoteDirtySubtreeForInvalidation" ] pub fn Gecko_NoteDirtySubtreeForInvalidation ( element : RawGeckoElementBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NoteAnimationOnlyDirtyElement" ] pub fn Gecko_NoteAnimationOnlyDirtyElement ( element : RawGeckoElementBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetImplementedPseudo" ] pub fn Gecko_GetImplementedPseudo ( element : RawGeckoElementBorrowed , ) -> CSSPseudoElementType ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CalcStyleDifference" ] pub fn Gecko_CalcStyleDifference ( old_style : ServoStyleContextBorrowed , new_style : ServoStyleContextBorrowed , any_style_changed : * mut bool , reset_only_changed : * mut bool , ) -> u32 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetElementSnapshot" ] pub fn Gecko_GetElementSnapshot ( table : * const ServoElementSnapshotTable , element : RawGeckoElementBorrowed , ) -> * const ServoElementSnapshot ; } extern "C" { + # [ link_name = "\u{1}_Gecko_DropElementSnapshot" ] pub fn Gecko_DropElementSnapshot ( snapshot : ServoElementSnapshotOwned , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_HaveSeenPtr" ] pub fn Gecko_HaveSeenPtr ( table : * mut SeenPtrs , ptr : * const :: std :: os :: raw :: c_void , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ResizeTArrayForStrings" ] pub fn Gecko_ResizeTArrayForStrings ( array : * mut nsTArray , length : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetStyleGridTemplate" ] pub fn Gecko_SetStyleGridTemplate ( grid_template : * mut UniquePtr < nsStyleGridTemplate > , value : * mut nsStyleGridTemplate , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CreateStyleGridTemplate" ] pub fn Gecko_CreateStyleGridTemplate ( track_sizes : u32 , name_size : u32 , ) -> * mut nsStyleGridTemplate ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyStyleGridTemplateValues" ] pub fn Gecko_CopyStyleGridTemplateValues ( grid_template : * mut UniquePtr < nsStyleGridTemplate > , other : * const nsStyleGridTemplate , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NewGridTemplateAreasValue" ] pub fn Gecko_NewGridTemplateAreasValue ( areas : u32 , templates : u32 , columns : u32 , ) -> * mut GridTemplateAreasValue ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddRefGridTemplateAreasValueArbitraryThread" ] pub fn Gecko_AddRefGridTemplateAreasValueArbitraryThread ( aPtr : * mut GridTemplateAreasValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReleaseGridTemplateAreasValueArbitraryThread" ] pub fn Gecko_ReleaseGridTemplateAreasValueArbitraryThread ( aPtr : * mut GridTemplateAreasValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ClearAndResizeStyleContents" ] pub fn Gecko_ClearAndResizeStyleContents ( content : * mut nsStyleContent , how_many : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ClearAndResizeCounterIncrements" ] pub fn Gecko_ClearAndResizeCounterIncrements ( content : * mut nsStyleContent , how_many : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ClearAndResizeCounterResets" ] pub fn Gecko_ClearAndResizeCounterResets ( content : * mut nsStyleContent , how_many : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyStyleContentsFrom" ] pub fn Gecko_CopyStyleContentsFrom ( content : * mut nsStyleContent , other : * const nsStyleContent , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyCounterResetsFrom" ] pub fn Gecko_CopyCounterResetsFrom ( content : * mut nsStyleContent , other : * const nsStyleContent , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyCounterIncrementsFrom" ] pub fn Gecko_CopyCounterIncrementsFrom ( content : * mut nsStyleContent , other : * const nsStyleContent , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_EnsureImageLayersLength" ] pub fn Gecko_EnsureImageLayersLength ( layers : * mut nsStyleImageLayers , len : usize , layer_type : nsStyleImageLayers_LayerType , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_EnsureStyleAnimationArrayLength" ] pub fn Gecko_EnsureStyleAnimationArrayLength ( array : * mut :: std :: os :: raw :: c_void , len : usize , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_EnsureStyleTransitionArrayLength" ] pub fn Gecko_EnsureStyleTransitionArrayLength ( array : * mut :: std :: os :: raw :: c_void , len : usize , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ClearWillChange" ] pub fn Gecko_ClearWillChange ( display : * mut nsStyleDisplay , length : usize , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AppendWillChange" ] pub fn Gecko_AppendWillChange ( display : * mut nsStyleDisplay , atom : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyWillChangeFrom" ] pub fn Gecko_CopyWillChangeFrom ( dest : * mut nsStyleDisplay , src : * mut nsStyleDisplay , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetOrCreateKeyframeAtStart" ] pub fn Gecko_GetOrCreateKeyframeAtStart ( keyframes : RawGeckoKeyframeListBorrowedMut , offset : f32 , timingFunction : * const nsTimingFunction , ) -> * mut Keyframe ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetOrCreateInitialKeyframe" ] pub fn Gecko_GetOrCreateInitialKeyframe ( keyframes : RawGeckoKeyframeListBorrowedMut , timingFunction : * const nsTimingFunction , ) -> * mut Keyframe ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetOrCreateFinalKeyframe" ] pub fn Gecko_GetOrCreateFinalKeyframe ( keyframes : RawGeckoKeyframeListBorrowedMut , timingFunction : * const nsTimingFunction , ) -> * mut Keyframe ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AppendPropertyValuePair" ] pub fn Gecko_AppendPropertyValuePair ( aProperties : RawGeckoPropertyValuePairListBorrowedMut , aProperty : nsCSSPropertyID , ) -> * mut PropertyValuePair ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ResetStyleCoord" ] pub fn Gecko_ResetStyleCoord ( unit : * mut nsStyleUnit , value : * mut nsStyleUnion , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetStyleCoordCalcValue" ] pub fn Gecko_SetStyleCoordCalcValue ( unit : * mut nsStyleUnit , value : * mut nsStyleUnion , calc : nsStyleCoord_CalcValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyShapeSourceFrom" ] pub fn Gecko_CopyShapeSourceFrom ( dst : * mut StyleShapeSource , src : * const StyleShapeSource , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_DestroyShapeSource" ] pub fn Gecko_DestroyShapeSource ( shape : * mut StyleShapeSource , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NewBasicShape" ] pub fn Gecko_NewBasicShape ( shape : * mut StyleShapeSource , type_ : StyleBasicShapeType , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NewShapeImage" ] + pub fn Gecko_NewShapeImage ( shape : * mut StyleShapeSource , ) ; +} extern "C" { + # [ link_name = "\u{1}_Gecko_StyleShapeSource_SetURLValue" ] pub fn Gecko_StyleShapeSource_SetURLValue ( shape : * mut StyleShapeSource , uri : ServoBundledURI , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ResetFilters" ] pub fn Gecko_ResetFilters ( effects : * mut nsStyleEffects , new_len : usize , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyFiltersFrom" ] pub fn Gecko_CopyFiltersFrom ( aSrc : * mut nsStyleEffects , aDest : * mut nsStyleEffects , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleFilter_SetURLValue" ] pub fn Gecko_nsStyleFilter_SetURLValue ( effects : * mut nsStyleFilter , uri : ServoBundledURI , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleSVGPaint_CopyFrom" ] pub fn Gecko_nsStyleSVGPaint_CopyFrom ( dest : * mut nsStyleSVGPaint , src : * const nsStyleSVGPaint , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleSVGPaint_SetURLValue" ] pub fn Gecko_nsStyleSVGPaint_SetURLValue ( paint : * mut nsStyleSVGPaint , uri : ServoBundledURI , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleSVGPaint_Reset" ] pub fn Gecko_nsStyleSVGPaint_Reset ( paint : * mut nsStyleSVGPaint , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleSVG_SetDashArrayLength" ] pub fn Gecko_nsStyleSVG_SetDashArrayLength ( svg : * mut nsStyleSVG , len : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleSVG_CopyDashArray" ] pub fn Gecko_nsStyleSVG_CopyDashArray ( dst : * mut nsStyleSVG , src : * const nsStyleSVG , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleSVG_SetContextPropertiesLength" ] pub fn Gecko_nsStyleSVG_SetContextPropertiesLength ( svg : * mut nsStyleSVG , len : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleSVG_CopyContextProperties" ] pub fn Gecko_nsStyleSVG_CopyContextProperties ( dst : * mut nsStyleSVG , src : * const nsStyleSVG , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NewURLValue" ] pub fn Gecko_NewURLValue ( uri : ServoBundledURI , ) -> * mut URLValue ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddRefCSSURLValueArbitraryThread" ] pub fn Gecko_AddRefCSSURLValueArbitraryThread ( aPtr : * mut URLValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReleaseCSSURLValueArbitraryThread" ] pub fn Gecko_ReleaseCSSURLValueArbitraryThread ( aPtr : * mut URLValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddRefURLExtraDataArbitraryThread" ] pub fn Gecko_AddRefURLExtraDataArbitraryThread ( aPtr : * mut RawGeckoURLExtraData , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReleaseURLExtraDataArbitraryThread" ] pub fn Gecko_ReleaseURLExtraDataArbitraryThread ( aPtr : * mut RawGeckoURLExtraData , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_FillAllImageLayers" ] pub fn Gecko_FillAllImageLayers ( layers : * mut nsStyleImageLayers , max_len : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddRefCalcArbitraryThread" ] pub fn Gecko_AddRefCalcArbitraryThread ( aPtr : * mut nsStyleCoord_Calc , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReleaseCalcArbitraryThread" ] pub fn Gecko_ReleaseCalcArbitraryThread ( aPtr : * mut nsStyleCoord_Calc , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NewCSSShadowArray" ] pub fn Gecko_NewCSSShadowArray ( len : u32 , ) -> * mut nsCSSShadowArray ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddRefCSSShadowArrayArbitraryThread" ] pub fn Gecko_AddRefCSSShadowArrayArbitraryThread ( aPtr : * mut nsCSSShadowArray , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReleaseCSSShadowArrayArbitraryThread" ] pub fn Gecko_ReleaseCSSShadowArrayArbitraryThread ( aPtr : * mut nsCSSShadowArray , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NewStyleQuoteValues" ] pub fn Gecko_NewStyleQuoteValues ( len : u32 , ) -> * mut nsStyleQuoteValues ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddRefQuoteValuesArbitraryThread" ] pub fn Gecko_AddRefQuoteValuesArbitraryThread ( aPtr : * mut nsStyleQuoteValues , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReleaseQuoteValuesArbitraryThread" ] pub fn Gecko_ReleaseQuoteValuesArbitraryThread ( aPtr : * mut nsStyleQuoteValues , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NewCSSValueSharedList" ] pub fn Gecko_NewCSSValueSharedList ( len : u32 , ) -> * mut nsCSSValueSharedList ; } extern "C" { + # [ link_name = "\u{1}_Gecko_NewNoneTransform" ] pub fn Gecko_NewNoneTransform ( ) -> * mut nsCSSValueSharedList ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_GetArrayItem" ] pub fn Gecko_CSSValue_GetArrayItem ( css_value : nsCSSValueBorrowedMut , index : i32 , ) -> nsCSSValueBorrowedMut ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_GetArrayItemConst" ] pub fn Gecko_CSSValue_GetArrayItemConst ( css_value : nsCSSValueBorrowed , index : i32 , ) -> nsCSSValueBorrowed ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_GetKeyword" ] pub fn Gecko_CSSValue_GetKeyword ( aCSSValue : nsCSSValueBorrowed , ) -> nsCSSKeyword ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_GetNumber" ] pub fn Gecko_CSSValue_GetNumber ( css_value : nsCSSValueBorrowed , ) -> f32 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_GetPercentage" ] pub fn Gecko_CSSValue_GetPercentage ( css_value : nsCSSValueBorrowed , ) -> f32 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_GetCalc" ] pub fn Gecko_CSSValue_GetCalc ( aCSSValue : nsCSSValueBorrowed , ) -> nsStyleCoord_CalcValue ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetNumber" ] pub fn Gecko_CSSValue_SetNumber ( css_value : nsCSSValueBorrowedMut , number : f32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetKeyword" ] pub fn Gecko_CSSValue_SetKeyword ( css_value : nsCSSValueBorrowedMut , keyword : nsCSSKeyword , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetPercentage" ] pub fn Gecko_CSSValue_SetPercentage ( css_value : nsCSSValueBorrowedMut , percent : f32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetPixelLength" ] pub fn Gecko_CSSValue_SetPixelLength ( aCSSValue : nsCSSValueBorrowedMut , aLen : f32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetCalc" ] pub fn Gecko_CSSValue_SetCalc ( css_value : nsCSSValueBorrowedMut , calc : nsStyleCoord_CalcValue , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetFunction" ] pub fn Gecko_CSSValue_SetFunction ( css_value : nsCSSValueBorrowedMut , len : i32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetString" ] pub fn Gecko_CSSValue_SetString ( css_value : nsCSSValueBorrowedMut , string : * const u8 , len : u32 , unit : nsCSSUnit , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetStringFromAtom" ] pub fn Gecko_CSSValue_SetStringFromAtom ( css_value : nsCSSValueBorrowedMut , atom : * mut nsAtom , unit : nsCSSUnit , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetAtomIdent" ] pub fn Gecko_CSSValue_SetAtomIdent ( css_value : nsCSSValueBorrowedMut , atom : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetArray" ] pub fn Gecko_CSSValue_SetArray ( css_value : nsCSSValueBorrowedMut , len : i32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetURL" ] pub fn Gecko_CSSValue_SetURL ( css_value : nsCSSValueBorrowedMut , uri : ServoBundledURI , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetInt" ] pub fn Gecko_CSSValue_SetInt ( css_value : nsCSSValueBorrowedMut , integer : i32 , unit : nsCSSUnit , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetPair" ] pub fn Gecko_CSSValue_SetPair ( css_value : nsCSSValueBorrowedMut , xvalue : nsCSSValueBorrowed , yvalue : nsCSSValueBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetList" ] pub fn Gecko_CSSValue_SetList ( css_value : nsCSSValueBorrowedMut , len : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_SetPairList" ] pub fn Gecko_CSSValue_SetPairList ( css_value : nsCSSValueBorrowedMut , len : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_InitSharedList" ] pub fn Gecko_CSSValue_InitSharedList ( css_value : nsCSSValueBorrowedMut , len : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSValue_Drop" ] pub fn Gecko_CSSValue_Drop ( css_value : nsCSSValueBorrowedMut , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddRefCSSValueSharedListArbitraryThread" ] pub fn Gecko_AddRefCSSValueSharedListArbitraryThread ( aPtr : * mut nsCSSValueSharedList , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReleaseCSSValueSharedListArbitraryThread" ] pub fn Gecko_ReleaseCSSValueSharedListArbitraryThread ( aPtr : * mut nsCSSValueSharedList , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleFont_SetLang" ] pub fn Gecko_nsStyleFont_SetLang ( font : * mut nsStyleFont , atom : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleFont_CopyLangFrom" ] pub fn Gecko_nsStyleFont_CopyLangFrom ( aFont : * mut nsStyleFont , aSource : * const nsStyleFont , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleFont_FixupNoneGeneric" ] pub fn Gecko_nsStyleFont_FixupNoneGeneric ( font : * mut nsStyleFont , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleFont_PrefillDefaultForGeneric" ] pub fn Gecko_nsStyleFont_PrefillDefaultForGeneric ( font : * mut nsStyleFont , pres_context : RawGeckoPresContextBorrowed , generic_id : u8 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_nsStyleFont_FixupMinFontSize" ] pub fn Gecko_nsStyleFont_FixupMinFontSize ( font : * mut nsStyleFont , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetBaseSize" ] pub fn Gecko_GetBaseSize ( lang : * mut nsAtom , ) -> FontSizePrefs ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetBindingParent" ] pub fn Gecko_GetBindingParent ( aElement : RawGeckoElementBorrowed , ) -> RawGeckoElementBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetXBLBinding" ] pub fn Gecko_GetXBLBinding ( aElement : RawGeckoElementBorrowed , ) -> RawGeckoXBLBindingBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_XBLBinding_GetRawServoStyleSet" ] pub fn Gecko_XBLBinding_GetRawServoStyleSet ( aXBLBinding : RawGeckoXBLBindingBorrowed , ) -> RawServoStyleSetBorrowedOrNull ; } extern "C" { + # [ link_name = "\u{1}_Gecko_XBLBinding_InheritsStyle" ] pub fn Gecko_XBLBinding_InheritsStyle ( aXBLBinding : RawGeckoXBLBindingBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetFontMetrics" ] pub fn Gecko_GetFontMetrics ( pres_context : RawGeckoPresContextBorrowed , is_vertical : bool , font : * const nsStyleFont , font_size : nscoord , use_user_font_set : bool , ) -> GeckoFontMetrics ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetAppUnitsPerPhysicalInch" ] pub fn Gecko_GetAppUnitsPerPhysicalInch ( pres_context : RawGeckoPresContextBorrowed , ) -> i32 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_StyleSheet_Clone" ] pub fn Gecko_StyleSheet_Clone ( aSheet : * const ServoStyleSheet , aNewParentSheet : * const ServoStyleSheet , ) -> * mut ServoStyleSheet ; } extern "C" { + # [ link_name = "\u{1}_Gecko_StyleSheet_AddRef" ] pub fn Gecko_StyleSheet_AddRef ( aSheet : * const ServoStyleSheet , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_StyleSheet_Release" ] pub fn Gecko_StyleSheet_Release ( aSheet : * const ServoStyleSheet , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_LookupCSSKeyword" ] pub fn Gecko_LookupCSSKeyword ( string : * const u8 , len : u32 , ) -> nsCSSKeyword ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSKeywordString" ] pub fn Gecko_CSSKeywordString ( keyword : nsCSSKeyword , len : * mut u32 , ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSFontFaceRule_Create" ] pub fn Gecko_CSSFontFaceRule_Create ( line : u32 , column : u32 , ) -> * mut nsCSSFontFaceRule ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSFontFaceRule_Clone" ] pub fn Gecko_CSSFontFaceRule_Clone ( rule : * const nsCSSFontFaceRule , ) -> * mut nsCSSFontFaceRule ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSFontFaceRule_GetCssText" ] pub fn Gecko_CSSFontFaceRule_GetCssText ( rule : * const nsCSSFontFaceRule , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSFontFaceRule_AddRef" ] pub fn Gecko_CSSFontFaceRule_AddRef ( aPtr : * mut nsCSSFontFaceRule , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSFontFaceRule_Release" ] pub fn Gecko_CSSFontFaceRule_Release ( aPtr : * mut nsCSSFontFaceRule , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSCounterStyle_Create" ] pub fn Gecko_CSSCounterStyle_Create ( name : * mut nsAtom , ) -> * mut nsCSSCounterStyleRule ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSCounterStyle_Clone" ] pub fn Gecko_CSSCounterStyle_Clone ( rule : * const nsCSSCounterStyleRule , ) -> * mut nsCSSCounterStyleRule ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSCounterStyle_GetCssText" ] pub fn Gecko_CSSCounterStyle_GetCssText ( rule : * const nsCSSCounterStyleRule , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSCounterStyleRule_AddRef" ] pub fn Gecko_CSSCounterStyleRule_AddRef ( aPtr : * mut nsCSSCounterStyleRule , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CSSCounterStyleRule_Release" ] pub fn Gecko_CSSCounterStyleRule_Release ( aPtr : * mut nsCSSCounterStyleRule , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_IsDocumentBody" ] pub fn Gecko_IsDocumentBody ( element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetLookAndFeelSystemColor" ] pub fn Gecko_GetLookAndFeelSystemColor ( color_id : i32 , pres_context : RawGeckoPresContextBorrowed , ) -> nscolor ; } extern "C" { + # [ link_name = "\u{1}_Gecko_MatchStringArgPseudo" ] pub fn Gecko_MatchStringArgPseudo ( element : RawGeckoElementBorrowed , type_ : CSSPseudoClassType , ident : * const u16 , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddPropertyToSet" ] pub fn Gecko_AddPropertyToSet ( arg1 : nsCSSPropertyIDSetBorrowedMut , arg2 : nsCSSPropertyID , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_RegisterNamespace" ] pub fn Gecko_RegisterNamespace ( ns : * mut nsAtom , ) -> i32 ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ShouldCreateStyleThreadPool" ] pub fn Gecko_ShouldCreateStyleThreadPool ( ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleFont" ] pub fn Gecko_Construct_Default_nsStyleFont ( ptr : * mut nsStyleFont , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleFont" ] pub fn Gecko_CopyConstruct_nsStyleFont ( ptr : * mut nsStyleFont , other : * const nsStyleFont , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleFont" ] pub fn Gecko_Destroy_nsStyleFont ( ptr : * mut nsStyleFont , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleColor" ] pub fn Gecko_Construct_Default_nsStyleColor ( ptr : * mut nsStyleColor , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleColor" ] pub fn Gecko_CopyConstruct_nsStyleColor ( ptr : * mut nsStyleColor , other : * const nsStyleColor , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleColor" ] pub fn Gecko_Destroy_nsStyleColor ( ptr : * mut nsStyleColor , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleList" ] pub fn Gecko_Construct_Default_nsStyleList ( ptr : * mut nsStyleList , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleList" ] pub fn Gecko_CopyConstruct_nsStyleList ( ptr : * mut nsStyleList , other : * const nsStyleList , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleList" ] pub fn Gecko_Destroy_nsStyleList ( ptr : * mut nsStyleList , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleText" ] pub fn Gecko_Construct_Default_nsStyleText ( ptr : * mut nsStyleText , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleText" ] pub fn Gecko_CopyConstruct_nsStyleText ( ptr : * mut nsStyleText , other : * const nsStyleText , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleText" ] pub fn Gecko_Destroy_nsStyleText ( ptr : * mut nsStyleText , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleVisibility" ] pub fn Gecko_Construct_Default_nsStyleVisibility ( ptr : * mut nsStyleVisibility , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleVisibility" ] pub fn Gecko_CopyConstruct_nsStyleVisibility ( ptr : * mut nsStyleVisibility , other : * const nsStyleVisibility , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleVisibility" ] pub fn Gecko_Destroy_nsStyleVisibility ( ptr : * mut nsStyleVisibility , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleUserInterface" ] pub fn Gecko_Construct_Default_nsStyleUserInterface ( ptr : * mut nsStyleUserInterface , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleUserInterface" ] pub fn Gecko_CopyConstruct_nsStyleUserInterface ( ptr : * mut nsStyleUserInterface , other : * const nsStyleUserInterface , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleUserInterface" ] pub fn Gecko_Destroy_nsStyleUserInterface ( ptr : * mut nsStyleUserInterface , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleTableBorder" ] pub fn Gecko_Construct_Default_nsStyleTableBorder ( ptr : * mut nsStyleTableBorder , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleTableBorder" ] pub fn Gecko_CopyConstruct_nsStyleTableBorder ( ptr : * mut nsStyleTableBorder , other : * const nsStyleTableBorder , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleTableBorder" ] pub fn Gecko_Destroy_nsStyleTableBorder ( ptr : * mut nsStyleTableBorder , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleSVG" ] pub fn Gecko_Construct_Default_nsStyleSVG ( ptr : * mut nsStyleSVG , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleSVG" ] pub fn Gecko_CopyConstruct_nsStyleSVG ( ptr : * mut nsStyleSVG , other : * const nsStyleSVG , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleSVG" ] pub fn Gecko_Destroy_nsStyleSVG ( ptr : * mut nsStyleSVG , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleVariables" ] pub fn Gecko_Construct_Default_nsStyleVariables ( ptr : * mut nsStyleVariables , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleVariables" ] pub fn Gecko_CopyConstruct_nsStyleVariables ( ptr : * mut nsStyleVariables , other : * const nsStyleVariables , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleVariables" ] pub fn Gecko_Destroy_nsStyleVariables ( ptr : * mut nsStyleVariables , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleBackground" ] pub fn Gecko_Construct_Default_nsStyleBackground ( ptr : * mut nsStyleBackground , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleBackground" ] pub fn Gecko_CopyConstruct_nsStyleBackground ( ptr : * mut nsStyleBackground , other : * const nsStyleBackground , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleBackground" ] pub fn Gecko_Destroy_nsStyleBackground ( ptr : * mut nsStyleBackground , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStylePosition" ] pub fn Gecko_Construct_Default_nsStylePosition ( ptr : * mut nsStylePosition , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStylePosition" ] pub fn Gecko_CopyConstruct_nsStylePosition ( ptr : * mut nsStylePosition , other : * const nsStylePosition , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStylePosition" ] pub fn Gecko_Destroy_nsStylePosition ( ptr : * mut nsStylePosition , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleTextReset" ] pub fn Gecko_Construct_Default_nsStyleTextReset ( ptr : * mut nsStyleTextReset , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleTextReset" ] pub fn Gecko_CopyConstruct_nsStyleTextReset ( ptr : * mut nsStyleTextReset , other : * const nsStyleTextReset , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleTextReset" ] pub fn Gecko_Destroy_nsStyleTextReset ( ptr : * mut nsStyleTextReset , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleDisplay" ] pub fn Gecko_Construct_Default_nsStyleDisplay ( ptr : * mut nsStyleDisplay , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleDisplay" ] pub fn Gecko_CopyConstruct_nsStyleDisplay ( ptr : * mut nsStyleDisplay , other : * const nsStyleDisplay , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleDisplay" ] pub fn Gecko_Destroy_nsStyleDisplay ( ptr : * mut nsStyleDisplay , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleContent" ] pub fn Gecko_Construct_Default_nsStyleContent ( ptr : * mut nsStyleContent , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleContent" ] pub fn Gecko_CopyConstruct_nsStyleContent ( ptr : * mut nsStyleContent , other : * const nsStyleContent , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleContent" ] pub fn Gecko_Destroy_nsStyleContent ( ptr : * mut nsStyleContent , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleUIReset" ] pub fn Gecko_Construct_Default_nsStyleUIReset ( ptr : * mut nsStyleUIReset , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleUIReset" ] pub fn Gecko_CopyConstruct_nsStyleUIReset ( ptr : * mut nsStyleUIReset , other : * const nsStyleUIReset , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleUIReset" ] pub fn Gecko_Destroy_nsStyleUIReset ( ptr : * mut nsStyleUIReset , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleTable" ] pub fn Gecko_Construct_Default_nsStyleTable ( ptr : * mut nsStyleTable , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleTable" ] pub fn Gecko_CopyConstruct_nsStyleTable ( ptr : * mut nsStyleTable , other : * const nsStyleTable , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleTable" ] pub fn Gecko_Destroy_nsStyleTable ( ptr : * mut nsStyleTable , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleMargin" ] pub fn Gecko_Construct_Default_nsStyleMargin ( ptr : * mut nsStyleMargin , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleMargin" ] pub fn Gecko_CopyConstruct_nsStyleMargin ( ptr : * mut nsStyleMargin , other : * const nsStyleMargin , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleMargin" ] pub fn Gecko_Destroy_nsStyleMargin ( ptr : * mut nsStyleMargin , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStylePadding" ] pub fn Gecko_Construct_Default_nsStylePadding ( ptr : * mut nsStylePadding , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStylePadding" ] pub fn Gecko_CopyConstruct_nsStylePadding ( ptr : * mut nsStylePadding , other : * const nsStylePadding , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStylePadding" ] pub fn Gecko_Destroy_nsStylePadding ( ptr : * mut nsStylePadding , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleBorder" ] pub fn Gecko_Construct_Default_nsStyleBorder ( ptr : * mut nsStyleBorder , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleBorder" ] pub fn Gecko_CopyConstruct_nsStyleBorder ( ptr : * mut nsStyleBorder , other : * const nsStyleBorder , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleBorder" ] pub fn Gecko_Destroy_nsStyleBorder ( ptr : * mut nsStyleBorder , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleOutline" ] pub fn Gecko_Construct_Default_nsStyleOutline ( ptr : * mut nsStyleOutline , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleOutline" ] pub fn Gecko_CopyConstruct_nsStyleOutline ( ptr : * mut nsStyleOutline , other : * const nsStyleOutline , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleOutline" ] pub fn Gecko_Destroy_nsStyleOutline ( ptr : * mut nsStyleOutline , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleXUL" ] pub fn Gecko_Construct_Default_nsStyleXUL ( ptr : * mut nsStyleXUL , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleXUL" ] pub fn Gecko_CopyConstruct_nsStyleXUL ( ptr : * mut nsStyleXUL , other : * const nsStyleXUL , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleXUL" ] pub fn Gecko_Destroy_nsStyleXUL ( ptr : * mut nsStyleXUL , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleSVGReset" ] pub fn Gecko_Construct_Default_nsStyleSVGReset ( ptr : * mut nsStyleSVGReset , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleSVGReset" ] pub fn Gecko_CopyConstruct_nsStyleSVGReset ( ptr : * mut nsStyleSVGReset , other : * const nsStyleSVGReset , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleSVGReset" ] pub fn Gecko_Destroy_nsStyleSVGReset ( ptr : * mut nsStyleSVGReset , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleColumn" ] pub fn Gecko_Construct_Default_nsStyleColumn ( ptr : * mut nsStyleColumn , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleColumn" ] pub fn Gecko_CopyConstruct_nsStyleColumn ( ptr : * mut nsStyleColumn , other : * const nsStyleColumn , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleColumn" ] pub fn Gecko_Destroy_nsStyleColumn ( ptr : * mut nsStyleColumn , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleEffects" ] pub fn Gecko_Construct_Default_nsStyleEffects ( ptr : * mut nsStyleEffects , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleEffects" ] pub fn Gecko_CopyConstruct_nsStyleEffects ( ptr : * mut nsStyleEffects , other : * const nsStyleEffects , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_Destroy_nsStyleEffects" ] pub fn Gecko_Destroy_nsStyleEffects ( ptr : * mut nsStyleEffects , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_RegisterProfilerThread" ] pub fn Gecko_RegisterProfilerThread ( name : * const :: std :: os :: raw :: c_char , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_UnregisterProfilerThread" ] pub fn Gecko_UnregisterProfilerThread ( ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_DocumentRule_UseForPresentation" ] pub fn Gecko_DocumentRule_UseForPresentation ( arg1 : RawGeckoPresContextBorrowed , aPattern : * const nsACString , aURLMatchingFunction : URLMatchingFunction , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_SetJemallocThreadLocalArena" ] pub fn Gecko_SetJemallocThreadLocalArena ( enabled : bool , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AddBufferToCrashReport" ] pub fn Gecko_AddBufferToCrashReport ( addr : * const :: std :: os :: raw :: c_void , len : usize , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_AnnotateCrashReport" ] pub fn Gecko_AnnotateCrashReport ( key_str : * const :: std :: os :: raw :: c_char , value_str : * const :: std :: os :: raw :: c_char , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_Element_ClearData" ] pub fn Servo_Element_ClearData ( node : RawGeckoElementBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_Element_SizeOfExcludingThisAndCVs" ] pub fn Servo_Element_SizeOfExcludingThisAndCVs ( malloc_size_of : MallocSizeOf , malloc_enclosing_size_of : MallocSizeOf , seen_ptrs : * mut SeenPtrs , node : RawGeckoElementBorrowed , ) -> usize ; } extern "C" { + # [ link_name = "\u{1}_Servo_Element_HasPrimaryComputedValues" ] pub fn Servo_Element_HasPrimaryComputedValues ( node : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_Element_GetPrimaryComputedValues" ] pub fn Servo_Element_GetPrimaryComputedValues ( node : RawGeckoElementBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_Element_HasPseudoComputedValues" ] pub fn Servo_Element_HasPseudoComputedValues ( node : RawGeckoElementBorrowed , index : usize , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_Element_GetPseudoComputedValues" ] pub fn Servo_Element_GetPseudoComputedValues ( node : RawGeckoElementBorrowed , index : usize , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_Element_IsDisplayNone" ] pub fn Servo_Element_IsDisplayNone ( element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_Element_IsPrimaryStyleReusedViaRuleNode" ] pub fn Servo_Element_IsPrimaryStyleReusedViaRuleNode ( element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheet_FromUTF8Bytes" ] pub fn Servo_StyleSheet_FromUTF8Bytes ( loader : * mut Loader , gecko_stylesheet : * mut ServoStyleSheet , data : * const u8 , data_len : usize , parsing_mode : SheetParsingMode , extra_data : * mut RawGeckoURLExtraData , line_number_offset : u32 , quirks_mode : nsCompatibility , reusable_sheets : * mut LoaderReusableStyleSheets , ) -> RawServoStyleSheetContentsStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheet_Empty" ] pub fn Servo_StyleSheet_Empty ( parsing_mode : SheetParsingMode , ) -> RawServoStyleSheetContentsStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheet_HasRules" ] pub fn Servo_StyleSheet_HasRules ( sheet : RawServoStyleSheetContentsBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheet_GetRules" ] pub fn Servo_StyleSheet_GetRules ( sheet : RawServoStyleSheetContentsBorrowed , ) -> ServoCssRulesStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheet_Clone" ] pub fn Servo_StyleSheet_Clone ( sheet : RawServoStyleSheetContentsBorrowed , reference_sheet : * const ServoStyleSheet , ) -> RawServoStyleSheetContentsStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheet_SizeOfIncludingThis" ] pub fn Servo_StyleSheet_SizeOfIncludingThis ( malloc_size_of : MallocSizeOf , malloc_enclosing_size_of : MallocSizeOf , sheet : RawServoStyleSheetContentsBorrowed , ) -> usize ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheet_GetSourceMapURL" ] pub fn Servo_StyleSheet_GetSourceMapURL ( sheet : RawServoStyleSheetContentsBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheet_GetSourceURL" ] pub fn Servo_StyleSheet_GetSourceURL ( sheet : RawServoStyleSheetContentsBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSheet_GetOrigin" ] pub fn Servo_StyleSheet_GetOrigin ( sheet : RawServoStyleSheetContentsBorrowed , ) -> u8 ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_Init" ] pub fn Servo_StyleSet_Init ( pres_context : RawGeckoPresContextOwned , ) -> * mut RawServoStyleSet ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_RebuildCachedData" ] pub fn Servo_StyleSet_RebuildCachedData ( set : RawServoStyleSetBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_MediumFeaturesChanged" ] pub fn Servo_StyleSet_MediumFeaturesChanged ( set : RawServoStyleSetBorrowed , viewport_units_used : * mut bool , ) -> u8 ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_SetDevice" ] pub fn Servo_StyleSet_SetDevice ( set : RawServoStyleSetBorrowed , pres_context : RawGeckoPresContextOwned , ) -> u8 ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_CompatModeChanged" ] pub fn Servo_StyleSet_CompatModeChanged ( raw_data : RawServoStyleSetBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_AppendStyleSheet" ] pub fn Servo_StyleSet_AppendStyleSheet ( set : RawServoStyleSetBorrowed , gecko_sheet : * const ServoStyleSheet , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_PrependStyleSheet" ] pub fn Servo_StyleSet_PrependStyleSheet ( set : RawServoStyleSetBorrowed , gecko_sheet : * const ServoStyleSheet , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_RemoveStyleSheet" ] pub fn Servo_StyleSet_RemoveStyleSheet ( set : RawServoStyleSetBorrowed , gecko_sheet : * const ServoStyleSheet , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_InsertStyleSheetBefore" ] pub fn Servo_StyleSet_InsertStyleSheetBefore ( set : RawServoStyleSetBorrowed , gecko_sheet : * const ServoStyleSheet , before : * const ServoStyleSheet , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_FlushStyleSheets" ] pub fn Servo_StyleSet_FlushStyleSheets ( set : RawServoStyleSetBorrowed , doc_elem : RawGeckoElementBorrowedOrNull , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_NoteStyleSheetsChanged" ] pub fn Servo_StyleSet_NoteStyleSheetsChanged ( set : RawServoStyleSetBorrowed , author_style_disabled : bool , changed_origins : OriginFlags , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_GetKeyframesForName" ] pub fn Servo_StyleSet_GetKeyframesForName ( set : RawServoStyleSetBorrowed , name : * mut nsAtom , timing_function : nsTimingFunctionBorrowed , keyframe_list : RawGeckoKeyframeListBorrowedMut , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_GetFontFaceRules" ] pub fn Servo_StyleSet_GetFontFaceRules ( set : RawServoStyleSetBorrowed , list : RawGeckoFontFaceRuleListBorrowedMut , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_GetCounterStyleRule" ] pub fn Servo_StyleSet_GetCounterStyleRule ( set : RawServoStyleSetBorrowed , name : * mut nsAtom , ) -> * mut nsCSSCounterStyleRule ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_BuildFontFeatureValueSet" ] pub fn Servo_StyleSet_BuildFontFeatureValueSet ( set : RawServoStyleSetBorrowed , ) -> * mut gfxFontFeatureValueSet ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_ResolveForDeclarations" ] pub fn Servo_StyleSet_ResolveForDeclarations ( set : RawServoStyleSetBorrowed , parent_style : ServoStyleContextBorrowedOrNull , declarations : RawServoDeclarationBlockBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_SelectorList_Parse" ] pub fn Servo_SelectorList_Parse ( selector_list : * const nsACString , ) -> * mut RawServoSelectorList ; } extern "C" { + # [ link_name = "\u{1}_Servo_SourceSizeList_Parse" ] pub fn Servo_SourceSizeList_Parse ( value : * const nsACString , ) -> * mut RawServoSourceSizeList ; } extern "C" { + # [ link_name = "\u{1}_Servo_SourceSizeList_Evaluate" ] pub fn Servo_SourceSizeList_Evaluate ( set : RawServoStyleSetBorrowed , arg1 : RawServoSourceSizeListBorrowedOrNull , ) -> i32 ; } extern "C" { + # [ link_name = "\u{1}_Servo_SelectorList_Matches" ] pub fn Servo_SelectorList_Matches ( arg1 : RawGeckoElementBorrowed , arg2 : RawServoSelectorListBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_SelectorList_Closest" ] pub fn Servo_SelectorList_Closest ( arg1 : RawGeckoElementBorrowed , arg2 : RawServoSelectorListBorrowed , ) -> * const RawGeckoElement ; } extern "C" { + # [ link_name = "\u{1}_Servo_SelectorList_QueryFirst" ] pub fn Servo_SelectorList_QueryFirst ( arg1 : RawGeckoNodeBorrowed , arg2 : RawServoSelectorListBorrowed , may_use_invalidation : bool , ) -> * const RawGeckoElement ; } extern "C" { + # [ link_name = "\u{1}_Servo_SelectorList_QueryAll" ] pub fn Servo_SelectorList_QueryAll ( arg1 : RawGeckoNodeBorrowed , arg2 : RawServoSelectorListBorrowed , content_list : * mut nsSimpleContentList , may_use_invalidation : bool , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_AddSizeOfExcludingThis" ] pub fn Servo_StyleSet_AddSizeOfExcludingThis ( malloc_size_of : MallocSizeOf , malloc_enclosing_size_of : MallocSizeOf , sizes : * mut ServoStyleSetSizes , set : RawServoStyleSetBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_UACache_AddSizeOf" ] pub fn Servo_UACache_AddSizeOf ( malloc_size_of : MallocSizeOf , malloc_enclosing_size_of : MallocSizeOf , sizes : * mut ServoStyleSetSizes , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleContext_AddRef" ] pub fn Servo_StyleContext_AddRef ( ctx : ServoStyleContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleContext_Release" ] pub fn Servo_StyleContext_Release ( ctx : ServoStyleContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_MightHaveAttributeDependency" ] pub fn Servo_StyleSet_MightHaveAttributeDependency ( set : RawServoStyleSetBorrowed , element : RawGeckoElementBorrowed , local_name : * mut nsAtom , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_HasStateDependency" ] pub fn Servo_StyleSet_HasStateDependency ( set : RawServoStyleSetBorrowed , element : RawGeckoElementBorrowed , state : u64 , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_HasDocumentStateDependency" ] pub fn Servo_StyleSet_HasDocumentStateDependency ( set : RawServoStyleSetBorrowed , state : u64 , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_ListTypes" ] pub fn Servo_CssRules_ListTypes ( rules : ServoCssRulesBorrowed , result : nsTArrayBorrowed_uintptr_t , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_InsertRule" ] pub fn Servo_CssRules_InsertRule ( rules : ServoCssRulesBorrowed , sheet : RawServoStyleSheetContentsBorrowed , rule : * const nsACString , index : u32 , nested : bool , loader : * mut Loader , gecko_stylesheet : * mut ServoStyleSheet , rule_type : * mut u16 , ) -> nsresult ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_DeleteRule" ] pub fn Servo_CssRules_DeleteRule ( rules : ServoCssRulesBorrowed , index : u32 , ) -> nsresult ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetStyleRuleAt" ] pub fn Servo_CssRules_GetStyleRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoStyleRuleStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_Debug" ] pub fn Servo_StyleRule_Debug ( rule : RawServoStyleRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_GetCssText" ] pub fn Servo_StyleRule_GetCssText ( rule : RawServoStyleRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetImportRuleAt" ] pub fn Servo_CssRules_GetImportRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoImportRuleStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_ImportRule_Debug" ] pub fn Servo_ImportRule_Debug ( rule : RawServoImportRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_ImportRule_GetCssText" ] pub fn Servo_ImportRule_GetCssText ( rule : RawServoImportRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_Keyframe_Debug" ] pub fn Servo_Keyframe_Debug ( rule : RawServoKeyframeBorrowed , result : * mut nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_Keyframe_GetCssText" ] pub fn Servo_Keyframe_GetCssText ( rule : RawServoKeyframeBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetKeyframesRuleAt" ] pub fn Servo_CssRules_GetKeyframesRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoKeyframesRuleStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_Debug" ] pub fn Servo_KeyframesRule_Debug ( rule : RawServoKeyframesRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_GetCssText" ] pub fn Servo_KeyframesRule_GetCssText ( rule : RawServoKeyframesRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetMediaRuleAt" ] pub fn Servo_CssRules_GetMediaRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoMediaRuleStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaRule_Debug" ] pub fn Servo_MediaRule_Debug ( rule : RawServoMediaRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaRule_GetCssText" ] pub fn Servo_MediaRule_GetCssText ( rule : RawServoMediaRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaRule_GetRules" ] pub fn Servo_MediaRule_GetRules ( rule : RawServoMediaRuleBorrowed , ) -> ServoCssRulesStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetNamespaceRuleAt" ] pub fn Servo_CssRules_GetNamespaceRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoNamespaceRuleStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_NamespaceRule_Debug" ] pub fn Servo_NamespaceRule_Debug ( rule : RawServoNamespaceRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_NamespaceRule_GetCssText" ] pub fn Servo_NamespaceRule_GetCssText ( rule : RawServoNamespaceRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetPageRuleAt" ] pub fn Servo_CssRules_GetPageRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoPageRuleStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_PageRule_Debug" ] pub fn Servo_PageRule_Debug ( rule : RawServoPageRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_PageRule_GetCssText" ] pub fn Servo_PageRule_GetCssText ( rule : RawServoPageRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetSupportsRuleAt" ] pub fn Servo_CssRules_GetSupportsRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoSupportsRuleStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_SupportsRule_Debug" ] pub fn Servo_SupportsRule_Debug ( rule : RawServoSupportsRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_SupportsRule_GetCssText" ] pub fn Servo_SupportsRule_GetCssText ( rule : RawServoSupportsRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_SupportsRule_GetRules" ] pub fn Servo_SupportsRule_GetRules ( rule : RawServoSupportsRuleBorrowed , ) -> ServoCssRulesStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetDocumentRuleAt" ] pub fn Servo_CssRules_GetDocumentRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoDocumentRuleStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_DocumentRule_Debug" ] pub fn Servo_DocumentRule_Debug ( rule : RawServoDocumentRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DocumentRule_GetCssText" ] pub fn Servo_DocumentRule_GetCssText ( rule : RawServoDocumentRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DocumentRule_GetRules" ] pub fn Servo_DocumentRule_GetRules ( rule : RawServoDocumentRuleBorrowed , ) -> ServoCssRulesStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetFontFeatureValuesRuleAt" ] pub fn Servo_CssRules_GetFontFeatureValuesRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoFontFeatureValuesRuleStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_Debug" ] pub fn Servo_FontFeatureValuesRule_Debug ( rule : RawServoFontFeatureValuesRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_GetCssText" ] pub fn Servo_FontFeatureValuesRule_GetCssText ( rule : RawServoFontFeatureValuesRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetFontFaceRuleAt" ] pub fn Servo_CssRules_GetFontFaceRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , ) -> * mut nsCSSFontFaceRule ; } extern "C" { + # [ link_name = "\u{1}_Servo_CssRules_GetCounterStyleRuleAt" ] pub fn Servo_CssRules_GetCounterStyleRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , ) -> * mut nsCSSCounterStyleRule ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_GetStyle" ] pub fn Servo_StyleRule_GetStyle ( rule : RawServoStyleRuleBorrowed , ) -> RawServoDeclarationBlockStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_SetStyle" ] pub fn Servo_StyleRule_SetStyle ( rule : RawServoStyleRuleBorrowed , declarations : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_GetSelectorText" ] pub fn Servo_StyleRule_GetSelectorText ( rule : RawServoStyleRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_GetSelectorTextAtIndex" ] pub fn Servo_StyleRule_GetSelectorTextAtIndex ( rule : RawServoStyleRuleBorrowed , index : u32 , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_GetSpecificityAtIndex" ] pub fn Servo_StyleRule_GetSpecificityAtIndex ( rule : RawServoStyleRuleBorrowed , index : u32 , specificity : * mut u64 , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_GetSelectorCount" ] pub fn Servo_StyleRule_GetSelectorCount ( rule : RawServoStyleRuleBorrowed , count : * mut u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleRule_SelectorMatchesElement" ] pub fn Servo_StyleRule_SelectorMatchesElement ( arg1 : RawServoStyleRuleBorrowed , arg2 : RawGeckoElementBorrowed , index : u32 , pseudo_type : CSSPseudoElementType , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_ImportRule_GetHref" ] pub fn Servo_ImportRule_GetHref ( rule : RawServoImportRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_ImportRule_GetSheet" ] pub fn Servo_ImportRule_GetSheet ( rule : RawServoImportRuleBorrowed , ) -> * const ServoStyleSheet ; } extern "C" { + # [ link_name = "\u{1}_Servo_Keyframe_GetKeyText" ] pub fn Servo_Keyframe_GetKeyText ( keyframe : RawServoKeyframeBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_Keyframe_SetKeyText" ] pub fn Servo_Keyframe_SetKeyText ( keyframe : RawServoKeyframeBorrowed , text : * const nsACString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_Keyframe_GetStyle" ] pub fn Servo_Keyframe_GetStyle ( keyframe : RawServoKeyframeBorrowed , ) -> RawServoDeclarationBlockStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_Keyframe_SetStyle" ] pub fn Servo_Keyframe_SetStyle ( keyframe : RawServoKeyframeBorrowed , declarations : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_GetName" ] pub fn Servo_KeyframesRule_GetName ( rule : RawServoKeyframesRuleBorrowed , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_SetName" ] pub fn Servo_KeyframesRule_SetName ( rule : RawServoKeyframesRuleBorrowed , name : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_GetCount" ] pub fn Servo_KeyframesRule_GetCount ( rule : RawServoKeyframesRuleBorrowed , ) -> u32 ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_GetKeyframeAt" ] pub fn Servo_KeyframesRule_GetKeyframeAt ( rule : RawServoKeyframesRuleBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoKeyframeStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_FindRule" ] pub fn Servo_KeyframesRule_FindRule ( rule : RawServoKeyframesRuleBorrowed , key : * const nsACString , ) -> u32 ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_AppendRule" ] pub fn Servo_KeyframesRule_AppendRule ( rule : RawServoKeyframesRuleBorrowed , sheet : RawServoStyleSheetContentsBorrowed , css : * const nsACString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_KeyframesRule_DeleteRule" ] pub fn Servo_KeyframesRule_DeleteRule ( rule : RawServoKeyframesRuleBorrowed , index : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaRule_GetMedia" ] pub fn Servo_MediaRule_GetMedia ( rule : RawServoMediaRuleBorrowed , ) -> RawServoMediaListStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_NamespaceRule_GetPrefix" ] pub fn Servo_NamespaceRule_GetPrefix ( rule : RawServoNamespaceRuleBorrowed , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Servo_NamespaceRule_GetURI" ] pub fn Servo_NamespaceRule_GetURI ( rule : RawServoNamespaceRuleBorrowed , ) -> * mut nsAtom ; } extern "C" { + # [ link_name = "\u{1}_Servo_PageRule_GetStyle" ] pub fn Servo_PageRule_GetStyle ( rule : RawServoPageRuleBorrowed , ) -> RawServoDeclarationBlockStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_PageRule_SetStyle" ] pub fn Servo_PageRule_SetStyle ( rule : RawServoPageRuleBorrowed , declarations : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_SupportsRule_GetConditionText" ] pub fn Servo_SupportsRule_GetConditionText ( rule : RawServoSupportsRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DocumentRule_GetConditionText" ] pub fn Servo_DocumentRule_GetConditionText ( rule : RawServoDocumentRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_GetFontFamily" ] pub fn Servo_FontFeatureValuesRule_GetFontFamily ( rule : RawServoFontFeatureValuesRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_GetValueText" ] pub fn Servo_FontFeatureValuesRule_GetValueText ( rule : RawServoFontFeatureValuesRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_ParseProperty" ] pub fn Servo_ParseProperty ( property : nsCSSPropertyID , value : * const nsACString , data : * mut RawGeckoURLExtraData , parsing_mode : ParsingMode , quirks_mode : nsCompatibility , loader : * mut Loader , ) -> RawServoDeclarationBlockStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_ParseEasing" ] pub fn Servo_ParseEasing ( easing : * const nsAString , data : * mut RawGeckoURLExtraData , output : nsTimingFunctionBorrowedMut , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_GetComputedKeyframeValues" ] pub fn Servo_GetComputedKeyframeValues ( keyframes : RawGeckoKeyframeListBorrowed , element : RawGeckoElementBorrowed , style : ServoStyleContextBorrowed , set : RawServoStyleSetBorrowed , result : RawGeckoComputedKeyframeValuesListBorrowedMut , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_ComputedValues_ExtractAnimationValue" ] pub fn Servo_ComputedValues_ExtractAnimationValue ( computed_values : ServoStyleContextBorrowed , property : nsCSSPropertyID , ) -> RawServoAnimationValueStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_ComputedValues_SpecifiesAnimationsOrTransitions" ] pub fn Servo_ComputedValues_SpecifiesAnimationsOrTransitions ( computed_values : ServoStyleContextBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_Property_IsAnimatable" ] pub fn Servo_Property_IsAnimatable ( property : nsCSSPropertyID , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_Property_IsTransitionable" ] pub fn Servo_Property_IsTransitionable ( property : nsCSSPropertyID , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_Property_IsDiscreteAnimatable" ] pub fn Servo_Property_IsDiscreteAnimatable ( property : nsCSSPropertyID , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_GetProperties_Overriding_Animation" ] pub fn Servo_GetProperties_Overriding_Animation ( arg1 : RawGeckoElementBorrowed , arg2 : RawGeckoCSSPropertyIDListBorrowed , arg3 : nsCSSPropertyIDSetBorrowedMut , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MatrixTransform_Operate" ] pub fn Servo_MatrixTransform_Operate ( matrix_operator : MatrixTransformOperator , from : * const RawGeckoGfxMatrix4x4 , to : * const RawGeckoGfxMatrix4x4 , progress : f64 , result : * mut RawGeckoGfxMatrix4x4 , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_GetAnimationValues" ] pub fn Servo_GetAnimationValues ( declarations : RawServoDeclarationBlockBorrowed , element : RawGeckoElementBorrowed , style : ServoStyleContextBorrowed , style_set : RawServoStyleSetBorrowed , animation_values : RawGeckoServoAnimationValueListBorrowedMut , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValues_Interpolate" ] pub fn Servo_AnimationValues_Interpolate ( from : RawServoAnimationValueBorrowed , to : RawServoAnimationValueBorrowed , progress : f64 , ) -> RawServoAnimationValueStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValues_IsInterpolable" ] pub fn Servo_AnimationValues_IsInterpolable ( from : RawServoAnimationValueBorrowed , to : RawServoAnimationValueBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValues_Add" ] pub fn Servo_AnimationValues_Add ( a : RawServoAnimationValueBorrowed , b : RawServoAnimationValueBorrowed , ) -> RawServoAnimationValueStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValues_Accumulate" ] pub fn Servo_AnimationValues_Accumulate ( a : RawServoAnimationValueBorrowed , b : RawServoAnimationValueBorrowed , count : u64 , ) -> RawServoAnimationValueStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValues_GetZeroValue" ] pub fn Servo_AnimationValues_GetZeroValue ( value_to_match : RawServoAnimationValueBorrowed , ) -> RawServoAnimationValueStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValues_ComputeDistance" ] pub fn Servo_AnimationValues_ComputeDistance ( from : RawServoAnimationValueBorrowed , to : RawServoAnimationValueBorrowed , ) -> f64 ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValue_Serialize" ] pub fn Servo_AnimationValue_Serialize ( value : RawServoAnimationValueBorrowed , property : nsCSSPropertyID , buffer : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_Shorthand_AnimationValues_Serialize" ] pub fn Servo_Shorthand_AnimationValues_Serialize ( shorthand_property : nsCSSPropertyID , values : RawGeckoServoAnimationValueListBorrowed , buffer : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValue_GetOpacity" ] pub fn Servo_AnimationValue_GetOpacity ( value : RawServoAnimationValueBorrowed , ) -> f32 ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValue_Opacity" ] pub fn Servo_AnimationValue_Opacity ( arg1 : f32 , ) -> RawServoAnimationValueStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValue_GetTransform" ] pub fn Servo_AnimationValue_GetTransform ( value : RawServoAnimationValueBorrowed , list : * mut RefPtr < nsCSSValueSharedList > , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValue_Transform" ] pub fn Servo_AnimationValue_Transform ( list : * const nsCSSValueSharedList , ) -> RawServoAnimationValueStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValue_DeepEqual" ] pub fn Servo_AnimationValue_DeepEqual ( arg1 : RawServoAnimationValueBorrowed , arg2 : RawServoAnimationValueBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValue_Uncompute" ] pub fn Servo_AnimationValue_Uncompute ( value : RawServoAnimationValueBorrowed , ) -> RawServoDeclarationBlockStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationValue_Compute" ] pub fn Servo_AnimationValue_Compute ( element : RawGeckoElementBorrowed , declarations : RawServoDeclarationBlockBorrowed , style : ServoStyleContextBorrowed , raw_data : RawServoStyleSetBorrowed , ) -> RawServoAnimationValueStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_ParseStyleAttribute" ] pub fn Servo_ParseStyleAttribute ( data : * const nsACString , extra_data : * mut RawGeckoURLExtraData , quirks_mode : nsCompatibility , loader : * mut Loader , ) -> RawServoDeclarationBlockStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_CreateEmpty" ] pub fn Servo_DeclarationBlock_CreateEmpty ( ) -> RawServoDeclarationBlockStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_Clone" ] pub fn Servo_DeclarationBlock_Clone ( declarations : RawServoDeclarationBlockBorrowed , ) -> RawServoDeclarationBlockStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_Equals" ] pub fn Servo_DeclarationBlock_Equals ( a : RawServoDeclarationBlockBorrowed , b : RawServoDeclarationBlockBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_GetCssText" ] pub fn Servo_DeclarationBlock_GetCssText ( declarations : RawServoDeclarationBlockBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SerializeOneValue" ] pub fn Servo_DeclarationBlock_SerializeOneValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , buffer : * mut nsAString , computed_values : ServoStyleContextBorrowedOrNull , custom_properties : RawServoDeclarationBlockBorrowedOrNull , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_Count" ] pub fn Servo_DeclarationBlock_Count ( declarations : RawServoDeclarationBlockBorrowed , ) -> u32 ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_GetNthProperty" ] pub fn Servo_DeclarationBlock_GetNthProperty ( declarations : RawServoDeclarationBlockBorrowed , index : u32 , result : * mut nsAString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_GetPropertyValue" ] pub fn Servo_DeclarationBlock_GetPropertyValue ( declarations : RawServoDeclarationBlockBorrowed , property : * const nsACString , value : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_GetPropertyValueById" ] pub fn Servo_DeclarationBlock_GetPropertyValueById ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_GetPropertyIsImportant" ] pub fn Servo_DeclarationBlock_GetPropertyIsImportant ( declarations : RawServoDeclarationBlockBorrowed , property : * const nsACString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetProperty" ] pub fn Servo_DeclarationBlock_SetProperty ( declarations : RawServoDeclarationBlockBorrowed , property : * const nsACString , value : * const nsACString , is_important : bool , data : * mut RawGeckoURLExtraData , parsing_mode : ParsingMode , quirks_mode : nsCompatibility , loader : * mut Loader , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetPropertyById" ] pub fn Servo_DeclarationBlock_SetPropertyById ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : * const nsACString , is_important : bool , data : * mut RawGeckoURLExtraData , parsing_mode : ParsingMode , quirks_mode : nsCompatibility , loader : * mut Loader , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_RemoveProperty" ] pub fn Servo_DeclarationBlock_RemoveProperty ( declarations : RawServoDeclarationBlockBorrowed , property : * const nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_RemovePropertyById" ] pub fn Servo_DeclarationBlock_RemovePropertyById ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_HasCSSWideKeyword" ] pub fn Servo_DeclarationBlock_HasCSSWideKeyword ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_AnimationCompose" ] pub fn Servo_AnimationCompose ( animation_values : RawServoAnimationValueMapBorrowedMut , base_values : RawServoAnimationValueTableBorrowed , property : nsCSSPropertyID , animation_segment : RawGeckoAnimationPropertySegmentBorrowed , last_segment : RawGeckoAnimationPropertySegmentBorrowed , computed_timing : RawGeckoComputedTimingBorrowed , iter_composite : IterationCompositeOperation , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_ComposeAnimationSegment" ] pub fn Servo_ComposeAnimationSegment ( animation_segment : RawGeckoAnimationPropertySegmentBorrowed , underlying_value : RawServoAnimationValueBorrowedOrNull , last_value : RawServoAnimationValueBorrowedOrNull , iter_composite : IterationCompositeOperation , progress : f64 , current_iteration : u64 , ) -> RawServoAnimationValueStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_PropertyIsSet" ] pub fn Servo_DeclarationBlock_PropertyIsSet ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetIdentStringValue" ] pub fn Servo_DeclarationBlock_SetIdentStringValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : * mut nsAtom , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetKeywordValue" ] pub fn Servo_DeclarationBlock_SetKeywordValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : i32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetIntValue" ] pub fn Servo_DeclarationBlock_SetIntValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : i32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetPixelValue" ] pub fn Servo_DeclarationBlock_SetPixelValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : f32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetLengthValue" ] pub fn Servo_DeclarationBlock_SetLengthValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : f32 , unit : nsCSSUnit , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetNumberValue" ] pub fn Servo_DeclarationBlock_SetNumberValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : f32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetPercentValue" ] pub fn Servo_DeclarationBlock_SetPercentValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : f32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetAutoValue" ] pub fn Servo_DeclarationBlock_SetAutoValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetCurrentColor" ] pub fn Servo_DeclarationBlock_SetCurrentColor ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetColorValue" ] pub fn Servo_DeclarationBlock_SetColorValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : nscolor , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetFontFamily" ] pub fn Servo_DeclarationBlock_SetFontFamily ( declarations : RawServoDeclarationBlockBorrowed , value : * const nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetTextDecorationColorOverride" ] pub fn Servo_DeclarationBlock_SetTextDecorationColorOverride ( declarations : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_DeclarationBlock_SetBackgroundImage" ] pub fn Servo_DeclarationBlock_SetBackgroundImage ( declarations : RawServoDeclarationBlockBorrowed , value : * const nsAString , extra_data : * mut RawGeckoURLExtraData , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_Create" ] pub fn Servo_MediaList_Create ( ) -> RawServoMediaListStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_DeepClone" ] pub fn Servo_MediaList_DeepClone ( list : RawServoMediaListBorrowed , ) -> RawServoMediaListStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_Matches" ] pub fn Servo_MediaList_Matches ( list : RawServoMediaListBorrowed , set : RawServoStyleSetBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_GetText" ] pub fn Servo_MediaList_GetText ( list : RawServoMediaListBorrowed , result : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_SetText" ] pub fn Servo_MediaList_SetText ( list : RawServoMediaListBorrowed , text : * const nsACString , aCallerType : CallerType , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_GetLength" ] pub fn Servo_MediaList_GetLength ( list : RawServoMediaListBorrowed , ) -> u32 ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_GetMediumAt" ] pub fn Servo_MediaList_GetMediumAt ( list : RawServoMediaListBorrowed , index : u32 , result : * mut nsAString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_AppendMedium" ] pub fn Servo_MediaList_AppendMedium ( list : RawServoMediaListBorrowed , new_medium : * const nsACString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_MediaList_DeleteMedium" ] pub fn Servo_MediaList_DeleteMedium ( list : RawServoMediaListBorrowed , old_medium : * const nsACString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_CSSSupports2" ] pub fn Servo_CSSSupports2 ( name : * const nsACString , value : * const nsACString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_CSSSupports" ] pub fn Servo_CSSSupports ( cond : * const nsACString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_ComputedValues_GetForAnonymousBox" ] pub fn Servo_ComputedValues_GetForAnonymousBox ( parent_style_or_null : ServoStyleContextBorrowedOrNull , pseudo_tag : * mut nsAtom , set : RawServoStyleSetBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_ComputedValues_Inherit" ] pub fn Servo_ComputedValues_Inherit ( set : RawServoStyleSetBorrowed , pseudo_tag : * mut nsAtom , parent_style : ServoStyleContextBorrowedOrNull , target : InheritTarget , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_ComputedValues_GetStyleBits" ] pub fn Servo_ComputedValues_GetStyleBits ( values : ServoStyleContextBorrowed , ) -> u64 ; } extern "C" { + # [ link_name = "\u{1}_Servo_ComputedValues_EqualCustomProperties" ] pub fn Servo_ComputedValues_EqualCustomProperties ( first : ServoComputedDataBorrowed , second : ServoComputedDataBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_ComputedValues_GetStyleRuleList" ] pub fn Servo_ComputedValues_GetStyleRuleList ( values : ServoStyleContextBorrowed , rules : RawGeckoServoStyleRuleListBorrowedMut , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_Initialize" ] pub fn Servo_Initialize ( dummy_url_data : * mut RawGeckoURLExtraData , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_InitializeCooperativeThread" ] pub fn Servo_InitializeCooperativeThread ( ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_Shutdown" ] pub fn Servo_Shutdown ( ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_NoteExplicitHints" ] pub fn Servo_NoteExplicitHints ( element : RawGeckoElementBorrowed , restyle_hint : nsRestyleHint , change_hint : nsChangeHint , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_TakeChangeHint" ] pub fn Servo_TakeChangeHint ( element : RawGeckoElementBorrowed , was_restyled : * mut bool , ) -> u32 ; } extern "C" { + # [ link_name = "\u{1}_Servo_ResolveStyle" ] pub fn Servo_ResolveStyle ( element : RawGeckoElementBorrowed , set : RawServoStyleSetBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_ResolvePseudoStyle" ] pub fn Servo_ResolvePseudoStyle ( element : RawGeckoElementBorrowed , pseudo_type : CSSPseudoElementType , is_probe : bool , inherited_style : ServoStyleContextBorrowedOrNull , set : RawServoStyleSetBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_ComputedValues_ResolveXULTreePseudoStyle" ] pub fn Servo_ComputedValues_ResolveXULTreePseudoStyle ( element : RawGeckoElementBorrowed , pseudo_tag : * mut nsAtom , inherited_style : ServoStyleContextBorrowed , input_word : * const AtomArray , set : RawServoStyleSetBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_SetExplicitStyle" ] pub fn Servo_SetExplicitStyle ( element : RawGeckoElementBorrowed , primary_style : ServoStyleContextBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_HasAuthorSpecifiedRules" ] pub fn Servo_HasAuthorSpecifiedRules ( style : ServoStyleContextBorrowed , element : RawGeckoElementBorrowed , pseudo_type : CSSPseudoElementType , rule_type_mask : u32 , author_colors_allowed : bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_ResolveStyleLazily" ] pub fn Servo_ResolveStyleLazily ( element : RawGeckoElementBorrowed , pseudo_type : CSSPseudoElementType , rule_inclusion : StyleRuleInclusion , snapshots : * const ServoElementSnapshotTable , set : RawServoStyleSetBorrowed , ignore_existing_styles : bool , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_ReparentStyle" ] pub fn Servo_ReparentStyle ( style_to_reparent : ServoStyleContextBorrowed , parent_style : ServoStyleContextBorrowed , parent_style_ignoring_first_line : ServoStyleContextBorrowed , layout_parent_style : ServoStyleContextBorrowed , element : RawGeckoElementBorrowedOrNull , set : RawServoStyleSetBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_TraverseSubtree" ] pub fn Servo_TraverseSubtree ( root : RawGeckoElementBorrowed , set : RawServoStyleSetBorrowed , snapshots : * const ServoElementSnapshotTable , flags : ServoTraversalFlags , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_AssertTreeIsClean" ] pub fn Servo_AssertTreeIsClean ( root : RawGeckoElementBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_IsWorkerThread" ] pub fn Servo_IsWorkerThread ( ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_MaybeGCRuleTree" ] pub fn Servo_MaybeGCRuleTree ( set : RawServoStyleSetBorrowed , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_GetBaseComputedValuesForElement" ] pub fn Servo_StyleSet_GetBaseComputedValuesForElement ( set : RawServoStyleSetBorrowed , element : RawGeckoElementBorrowed , existing_style : ServoStyleContextBorrowed , snapshots : * const ServoElementSnapshotTable , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_StyleSet_GetComputedValuesByAddingAnimation" ] pub fn Servo_StyleSet_GetComputedValuesByAddingAnimation ( set : RawServoStyleSetBorrowed , element : RawGeckoElementBorrowed , existing_style : ServoStyleContextBorrowed , snapshots : * const ServoElementSnapshotTable , animation : RawServoAnimationValueBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { + # [ link_name = "\u{1}_Servo_SerializeFontValueForCanvas" ] pub fn Servo_SerializeFontValueForCanvas ( declarations : RawServoDeclarationBlockBorrowed , buffer : * mut nsAString , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_GetCustomPropertyValue" ] pub fn Servo_GetCustomPropertyValue ( computed_values : ServoStyleContextBorrowed , name : * const nsAString , value : * mut nsAString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_GetCustomPropertiesCount" ] pub fn Servo_GetCustomPropertiesCount ( computed_values : ServoStyleContextBorrowed , ) -> u32 ; } extern "C" { + # [ link_name = "\u{1}_Servo_GetCustomPropertyNameAt" ] pub fn Servo_GetCustomPropertyNameAt ( arg1 : ServoStyleContextBorrowed , index : u32 , name : * mut nsAString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_ProcessInvalidations" ] pub fn Servo_ProcessInvalidations ( set : RawServoStyleSetBorrowed , element : RawGeckoElementBorrowed , snapshots : * const ServoElementSnapshotTable , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_HasPendingRestyleAncestor" ] pub fn Servo_HasPendingRestyleAncestor ( element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_GetArcStringData" ] pub fn Servo_GetArcStringData ( arg1 : * const RustString , chars : * mut * const u8 , len : * mut u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_ReleaseArcStringData" ] pub fn Servo_ReleaseArcStringData ( string : * const ServoRawOffsetArc < RustString > , ) ; } extern "C" { + # [ link_name = "\u{1}_Servo_CloneArcStringData" ] pub fn Servo_CloneArcStringData ( string : * const ServoRawOffsetArc < RustString > , ) -> ServoRawOffsetArc < RustString > ; } extern "C" { + # [ link_name = "\u{1}_Servo_IsValidCSSColor" ] pub fn Servo_IsValidCSSColor ( value : * const nsAString , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_ComputeColor" ] pub fn Servo_ComputeColor ( set : RawServoStyleSetBorrowedOrNull , current_color : nscolor , value : * const nsAString , result_color : * mut nscolor , was_current_color : * mut bool , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Servo_ParseIntersectionObserverRootMargin" ] pub fn Servo_ParseIntersectionObserverRootMargin ( value : * const nsAString , result : * mut nsCSSRect , ) -> bool ; } extern "C" { + # [ link_name = "\u{1}_Gecko_CreateCSSErrorReporter" ] pub fn Gecko_CreateCSSErrorReporter ( sheet : * mut ServoStyleSheet , loader : * mut Loader , uri : * mut nsIURI , ) -> * mut ErrorReporter ; } extern "C" { + # [ link_name = "\u{1}_Gecko_DestroyCSSErrorReporter" ] pub fn Gecko_DestroyCSSErrorReporter ( reporter : * mut ErrorReporter , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ReportUnexpectedCSSError" ] pub fn Gecko_ReportUnexpectedCSSError ( reporter : * mut ErrorReporter , message : * const :: std :: os :: raw :: c_char , param : * const :: std :: os :: raw :: c_char , paramLen : u32 , prefix : * const :: std :: os :: raw :: c_char , prefixParam : * const :: std :: os :: raw :: c_char , prefixParamLen : u32 , suffix : * const :: std :: os :: raw :: c_char , source : * const :: std :: os :: raw :: c_char , sourceLen : u32 , lineNumber : u32 , colNumber : u32 , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_ContentList_AppendAll" ] pub fn Gecko_ContentList_AppendAll ( aContentList : * mut nsSimpleContentList , aElements : * mut * const RawGeckoElement , aLength : usize , ) ; } extern "C" { + # [ link_name = "\u{1}_Gecko_GetElementsWithId" ] pub fn Gecko_GetElementsWithId ( aDocument : * const nsIDocument , aId : * mut nsAtom , ) -> * const nsTArray < * mut Element > ; -} +} \ No newline at end of file diff --git a/servo/components/style/gecko/generated/structs.rs b/servo/components/style/gecko/generated/structs.rs index e20f8c0bb0ae..1abf240f9081 100644 --- a/servo/components/style/gecko/generated/structs.rs +++ b/servo/components/style/gecko/generated/structs.rs @@ -17,7 +17,10 @@ pub type ServoComputedValueFlags = ::properties::computed_value_flags::ComputedV pub type ServoRawOffsetArc = ::servo_arc::RawOffsetArc; pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<::properties::ComputedValues>; -# [ allow ( non_snake_case , non_camel_case_types , non_upper_case_globals ) ] pub mod root { # [ repr ( C ) ] pub struct __BindgenUnionField < T > ( :: std :: marker :: PhantomData < T > ) ; impl < T > __BindgenUnionField < T > { # [ inline ] pub fn new ( ) -> Self { __BindgenUnionField ( :: std :: marker :: PhantomData ) } # [ inline ] pub unsafe fn as_ref ( & self ) -> & T { :: std :: mem :: transmute ( self ) } # [ inline ] pub unsafe fn as_mut ( & mut self ) -> & mut T { :: std :: mem :: transmute ( self ) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [ inline ] fn default ( ) -> Self { Self :: new ( ) } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [ inline ] fn clone ( & self ) -> Self { Self :: new ( ) } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter ) -> :: std :: fmt :: Result { fmt . write_str ( "__BindgenUnionField" ) } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > ( & self , _state : & mut H ) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq ( & self , _other : & __BindgenUnionField < T > ) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } # [ allow ( unused_imports ) ] use self :: super :: root ; pub const NS_FONT_STYLE_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_STYLE_ITALIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_STYLE_OBLIQUE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_WEIGHT_NORMAL : :: std :: os :: raw :: c_uint = 400 ; pub const NS_FONT_WEIGHT_BOLD : :: std :: os :: raw :: c_uint = 700 ; pub const NS_FONT_WEIGHT_THIN : :: std :: os :: raw :: c_uint = 100 ; pub const NS_FONT_STRETCH_ULTRA_CONDENSED : :: std :: os :: raw :: c_int = -4 ; pub const NS_FONT_STRETCH_EXTRA_CONDENSED : :: std :: os :: raw :: c_int = -3 ; pub const NS_FONT_STRETCH_CONDENSED : :: std :: os :: raw :: c_int = -2 ; pub const NS_FONT_STRETCH_SEMI_CONDENSED : :: std :: os :: raw :: c_int = -1 ; pub const NS_FONT_STRETCH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_STRETCH_SEMI_EXPANDED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_STRETCH_EXPANDED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_STRETCH_EXTRA_EXPANDED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_STRETCH_ULTRA_EXPANDED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_SMOOTHING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_SMOOTHING_GRAYSCALE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_KERNING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_KERNING_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_KERNING_NORMAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_SYNTHESIS_WEIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_SYNTHESIS_STYLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_DISPLAY_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_DISPLAY_BLOCK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_DISPLAY_SWAP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_DISPLAY_FALLBACK : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_DISPLAY_OPTIONAL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_ALTERNATES_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_ALTERNATES_HISTORICAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_ALTERNATES_STYLISTIC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_ALTERNATES_STYLESET : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_ALTERNATES_CHARACTER_VARIANT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_ALTERNATES_SWASH : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_ALTERNATES_ORNAMENTS : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_ALTERNATES_ANNOTATION : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_ALTERNATES_COUNT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_FONT_VARIANT_ALTERNATES_ENUMERATED_MASK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_ALTERNATES_FUNCTIONAL_MASK : :: std :: os :: raw :: c_uint = 126 ; pub const NS_FONT_VARIANT_CAPS_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_CAPS_SMALLCAPS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_CAPS_ALLSMALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_CAPS_PETITECAPS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_CAPS_ALLPETITE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_CAPS_TITLING : :: std :: os :: raw :: c_uint = 5 ; pub const NS_FONT_VARIANT_CAPS_UNICASE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_FONT_VARIANT_EAST_ASIAN_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS78 : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS83 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS90 : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS04 : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_EAST_ASIAN_RUBY : :: std :: os :: raw :: c_uint = 256 ; pub const NS_FONT_VARIANT_EAST_ASIAN_COUNT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_FONT_VARIANT_EAST_ASIAN_VARIANT_MASK : :: std :: os :: raw :: c_uint = 63 ; pub const NS_FONT_VARIANT_EAST_ASIAN_WIDTH_MASK : :: std :: os :: raw :: c_uint = 192 ; pub const NS_FONT_VARIANT_LIGATURES_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_LIGATURES_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_LIGATURES_COMMON : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_LIGATURES_NO_COMMON : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_LIGATURES_DISCRETIONARY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_LIGATURES_HISTORICAL : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_LIGATURES_CONTEXTUAL : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL : :: std :: os :: raw :: c_uint = 256 ; pub const NS_FONT_VARIANT_LIGATURES_COUNT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_FONT_VARIANT_LIGATURES_COMMON_MASK : :: std :: os :: raw :: c_uint = 6 ; pub const NS_FONT_VARIANT_LIGATURES_DISCRETIONARY_MASK : :: std :: os :: raw :: c_uint = 24 ; pub const NS_FONT_VARIANT_LIGATURES_HISTORICAL_MASK : :: std :: os :: raw :: c_uint = 96 ; pub const NS_FONT_VARIANT_LIGATURES_CONTEXTUAL_MASK : :: std :: os :: raw :: c_uint = 384 ; pub const NS_FONT_VARIANT_NUMERIC_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_NUMERIC_LINING : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_NUMERIC_OLDSTYLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_NUMERIC_PROPORTIONAL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_NUMERIC_TABULAR : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_NUMERIC_SLASHZERO : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_NUMERIC_ORDINAL : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_NUMERIC_COUNT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_NUMERIC_FIGURE_MASK : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_NUMERIC_SPACING_MASK : :: std :: os :: raw :: c_uint = 12 ; pub const NS_FONT_VARIANT_NUMERIC_FRACTION_MASK : :: std :: os :: raw :: c_uint = 48 ; pub const NS_FONT_VARIANT_POSITION_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_POSITION_SUPER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_POSITION_SUB : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_WIDTH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_WIDTH_FULL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_WIDTH_HALF : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_WIDTH_THIRD : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_WIDTH_QUARTER : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_SUBSCRIPT_OFFSET_RATIO : f64 = 0.2 ; pub const NS_FONT_SUPERSCRIPT_OFFSET_RATIO : f64 = 0.34 ; pub const NS_FONT_SUB_SUPER_SIZE_RATIO_SMALL : f64 = 0.82 ; pub const NS_FONT_SUB_SUPER_SIZE_RATIO_LARGE : f64 = 0.667 ; pub const NS_FONT_SUB_SUPER_SMALL_SIZE : f64 = 20. ; pub const NS_FONT_SUB_SUPER_LARGE_SIZE : f64 = 45. ; pub const NS_FONT_VARIANT_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_SMALL_CAPS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INHERIT_FROM_BODY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WILL_CHANGE_STACKING_CONTEXT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WILL_CHANGE_TRANSFORM : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WILL_CHANGE_SCROLL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_WILL_CHANGE_OPACITY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WILL_CHANGE_FIXPOS_CB : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_WILL_CHANGE_ABSPOS_CB : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_ANIMATION_ITERATION_COUNT_INFINITE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ANIMATION_PLAY_STATE_RUNNING : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ANIMATION_PLAY_STATE_PAUSED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_SCROLL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_FIXED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_LOCAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGELAYER_CLIP_MOZ_ALMOST_PADDING : :: std :: os :: raw :: c_uint = 127 ; pub const NS_STYLE_IMAGELAYER_POSITION_CENTER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_POSITION_TOP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGELAYER_POSITION_BOTTOM : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_IMAGELAYER_POSITION_LEFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_IMAGELAYER_POSITION_RIGHT : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_IMAGELAYER_SIZE_CONTAIN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGELAYER_SIZE_COVER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_MODE_ALPHA : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_MODE_LUMINANCE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_MODE_MATCH_SOURCE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BG_INLINE_POLICY_EACH_BOX : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BG_INLINE_POLICY_CONTINUOUS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BG_INLINE_POLICY_BOUNDING_BOX : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_COLLAPSE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_SEPARATE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_WIDTH_THIN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_WIDTH_MEDIUM : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_WIDTH_THICK : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_STYLE_GROOVE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_STYLE_RIDGE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_STYLE_DOTTED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BORDER_STYLE_DASHED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_BORDER_STYLE_SOLID : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_BORDER_STYLE_DOUBLE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_BORDER_STYLE_INSET : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_BORDER_STYLE_OUTSET : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_BORDER_STYLE_HIDDEN : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_BORDER_STYLE_AUTO : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_STRETCH : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_REPEAT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_ROUND : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_SPACE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BORDER_IMAGE_SLICE_NOFILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_IMAGE_SLICE_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CURSOR_AUTO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CURSOR_CROSSHAIR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CURSOR_DEFAULT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CURSOR_POINTER : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CURSOR_MOVE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_CURSOR_E_RESIZE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_CURSOR_NE_RESIZE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_CURSOR_NW_RESIZE : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_CURSOR_N_RESIZE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_CURSOR_SE_RESIZE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_CURSOR_SW_RESIZE : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_CURSOR_S_RESIZE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_CURSOR_W_RESIZE : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_CURSOR_TEXT : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_CURSOR_WAIT : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_CURSOR_HELP : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_CURSOR_COPY : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_CURSOR_ALIAS : :: std :: os :: raw :: c_uint = 18 ; pub const NS_STYLE_CURSOR_CONTEXT_MENU : :: std :: os :: raw :: c_uint = 19 ; pub const NS_STYLE_CURSOR_CELL : :: std :: os :: raw :: c_uint = 20 ; pub const NS_STYLE_CURSOR_GRAB : :: std :: os :: raw :: c_uint = 21 ; pub const NS_STYLE_CURSOR_GRABBING : :: std :: os :: raw :: c_uint = 22 ; pub const NS_STYLE_CURSOR_SPINNING : :: std :: os :: raw :: c_uint = 23 ; pub const NS_STYLE_CURSOR_ZOOM_IN : :: std :: os :: raw :: c_uint = 24 ; pub const NS_STYLE_CURSOR_ZOOM_OUT : :: std :: os :: raw :: c_uint = 25 ; pub const NS_STYLE_CURSOR_NOT_ALLOWED : :: std :: os :: raw :: c_uint = 26 ; pub const NS_STYLE_CURSOR_COL_RESIZE : :: std :: os :: raw :: c_uint = 27 ; pub const NS_STYLE_CURSOR_ROW_RESIZE : :: std :: os :: raw :: c_uint = 28 ; pub const NS_STYLE_CURSOR_NO_DROP : :: std :: os :: raw :: c_uint = 29 ; pub const NS_STYLE_CURSOR_VERTICAL_TEXT : :: std :: os :: raw :: c_uint = 30 ; pub const NS_STYLE_CURSOR_ALL_SCROLL : :: std :: os :: raw :: c_uint = 31 ; pub const NS_STYLE_CURSOR_NESW_RESIZE : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_CURSOR_NWSE_RESIZE : :: std :: os :: raw :: c_uint = 33 ; pub const NS_STYLE_CURSOR_NS_RESIZE : :: std :: os :: raw :: c_uint = 34 ; pub const NS_STYLE_CURSOR_EW_RESIZE : :: std :: os :: raw :: c_uint = 35 ; pub const NS_STYLE_CURSOR_NONE : :: std :: os :: raw :: c_uint = 36 ; pub const NS_STYLE_DIRECTION_LTR : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DIRECTION_RTL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WRITING_MODE_HORIZONTAL_TB : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WRITING_MODE_VERTICAL_RL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WRITING_MODE_VERTICAL_LR : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_MASK : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_RL : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_LR : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_CONTAIN_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTAIN_STRICT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTAIN_LAYOUT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CONTAIN_STYLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTAIN_PAINT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_CONTAIN_ALL_BITS : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_ALIGN_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ALIGN_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_ALIGN_START : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ALIGN_END : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_ALIGN_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_ALIGN_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_ALIGN_LEFT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_ALIGN_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_ALIGN_BASELINE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_ALIGN_LAST_BASELINE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_ALIGN_STRETCH : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_ALIGN_SELF_START : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_ALIGN_SELF_END : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_ALIGN_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_ALIGN_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_ALIGN_SPACE_EVENLY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_ALIGN_LEGACY : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_ALIGN_SAFE : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_ALIGN_UNSAFE : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_ALIGN_FLAG_BITS : :: std :: os :: raw :: c_uint = 224 ; pub const NS_STYLE_ALIGN_ALL_BITS : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_ALIGN_ALL_SHIFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_JUSTIFY_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_JUSTIFY_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_JUSTIFY_START : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_JUSTIFY_END : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_JUSTIFY_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_JUSTIFY_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_JUSTIFY_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_JUSTIFY_LEFT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_JUSTIFY_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_JUSTIFY_BASELINE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_JUSTIFY_LAST_BASELINE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_JUSTIFY_STRETCH : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_JUSTIFY_SELF_START : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_JUSTIFY_SELF_END : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_JUSTIFY_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_JUSTIFY_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_JUSTIFY_SPACE_EVENLY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_JUSTIFY_LEGACY : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_JUSTIFY_SAFE : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_JUSTIFY_UNSAFE : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_JUSTIFY_FLAG_BITS : :: std :: os :: raw :: c_uint = 224 ; pub const NS_STYLE_JUSTIFY_ALL_BITS : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_JUSTIFY_ALL_SHIFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FLEX_DIRECTION_ROW : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FLEX_DIRECTION_ROW_REVERSE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FLEX_DIRECTION_COLUMN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FLEX_DIRECTION_COLUMN_REVERSE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FLEX_WRAP_NOWRAP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FLEX_WRAP_WRAP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FLEX_WRAP_WRAP_REVERSE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ORDER_INITIAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_JUSTIFY_CONTENT_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_JUSTIFY_CONTENT_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_JUSTIFY_CONTENT_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_JUSTIFY_CONTENT_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_JUSTIFY_CONTENT_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_FILTER_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FILTER_URL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FILTER_BLUR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FILTER_BRIGHTNESS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FILTER_CONTRAST : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FILTER_GRAYSCALE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FILTER_INVERT : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FILTER_OPACITY : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FILTER_SATURATE : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FILTER_SEPIA : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FILTER_HUE_ROTATE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FILTER_DROP_SHADOW : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_FONT_STYLE_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_STYLE_ITALIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_STYLE_OBLIQUE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_WEIGHT_NORMAL : :: std :: os :: raw :: c_uint = 400 ; pub const NS_STYLE_FONT_WEIGHT_BOLD : :: std :: os :: raw :: c_uint = 700 ; pub const NS_STYLE_FONT_WEIGHT_BOLDER : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_FONT_WEIGHT_LIGHTER : :: std :: os :: raw :: c_int = -2 ; pub const NS_STYLE_FONT_SIZE_XXSMALL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_SIZE_XSMALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_SIZE_SMALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_SIZE_MEDIUM : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_SIZE_LARGE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_SIZE_XLARGE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FONT_SIZE_XXLARGE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FONT_SIZE_XXXLARGE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FONT_SIZE_LARGER : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FONT_SIZE_SMALLER : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FONT_SIZE_NO_KEYWORD : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FONT_STRETCH_ULTRA_CONDENSED : :: std :: os :: raw :: c_int = -4 ; pub const NS_STYLE_FONT_STRETCH_EXTRA_CONDENSED : :: std :: os :: raw :: c_int = -3 ; pub const NS_STYLE_FONT_STRETCH_CONDENSED : :: std :: os :: raw :: c_int = -2 ; pub const NS_STYLE_FONT_STRETCH_SEMI_CONDENSED : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_FONT_STRETCH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_STRETCH_SEMI_EXPANDED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_STRETCH_EXPANDED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_STRETCH_EXTRA_EXPANDED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_STRETCH_ULTRA_EXPANDED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_CAPTION : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_ICON : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_MENU : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_MESSAGE_BOX : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_SMALL_CAPTION : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FONT_STATUS_BAR : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FONT_WINDOW : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FONT_DOCUMENT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FONT_WORKSPACE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FONT_DESKTOP : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FONT_INFO : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_FONT_DIALOG : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_FONT_BUTTON : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_FONT_PULL_DOWN_MENU : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_FONT_LIST : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_FONT_FIELD : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_GRID_AUTO_FLOW_ROW : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRID_AUTO_FLOW_COLUMN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRID_AUTO_FLOW_DENSE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_GRID_TEMPLATE_SUBGRID : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRID_REPEAT_AUTO_FILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRID_REPEAT_AUTO_FIT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_MATHML_DEFAULT_SCRIPT_SIZE_MULTIPLIER : f64 = 0.71 ; pub const NS_MATHML_DEFAULT_SCRIPT_MIN_SIZE_PT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_MATHML_MATHVARIANT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_MATHML_MATHVARIANT_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_MATHML_MATHVARIANT_BOLD : :: std :: os :: raw :: c_uint = 2 ; pub const NS_MATHML_MATHVARIANT_ITALIC : :: std :: os :: raw :: c_uint = 3 ; pub const NS_MATHML_MATHVARIANT_BOLD_ITALIC : :: std :: os :: raw :: c_uint = 4 ; pub const NS_MATHML_MATHVARIANT_SCRIPT : :: std :: os :: raw :: c_uint = 5 ; pub const NS_MATHML_MATHVARIANT_BOLD_SCRIPT : :: std :: os :: raw :: c_uint = 6 ; pub const NS_MATHML_MATHVARIANT_FRAKTUR : :: std :: os :: raw :: c_uint = 7 ; pub const NS_MATHML_MATHVARIANT_DOUBLE_STRUCK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_MATHML_MATHVARIANT_BOLD_FRAKTUR : :: std :: os :: raw :: c_uint = 9 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF : :: std :: os :: raw :: c_uint = 10 ; pub const NS_MATHML_MATHVARIANT_BOLD_SANS_SERIF : :: std :: os :: raw :: c_uint = 11 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF_ITALIC : :: std :: os :: raw :: c_uint = 12 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF_BOLD_ITALIC : :: std :: os :: raw :: c_uint = 13 ; pub const NS_MATHML_MATHVARIANT_MONOSPACE : :: std :: os :: raw :: c_uint = 14 ; pub const NS_MATHML_MATHVARIANT_INITIAL : :: std :: os :: raw :: c_uint = 15 ; pub const NS_MATHML_MATHVARIANT_TAILED : :: std :: os :: raw :: c_uint = 16 ; pub const NS_MATHML_MATHVARIANT_LOOPED : :: std :: os :: raw :: c_uint = 17 ; pub const NS_MATHML_MATHVARIANT_STRETCHED : :: std :: os :: raw :: c_uint = 18 ; pub const NS_MATHML_DISPLAYSTYLE_INLINE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_MATHML_DISPLAYSTYLE_BLOCK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WIDTH_MAX_CONTENT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WIDTH_MIN_CONTENT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WIDTH_FIT_CONTENT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WIDTH_AVAILABLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POSITION_STATIC : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POSITION_RELATIVE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_POSITION_ABSOLUTE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_POSITION_FIXED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POSITION_STICKY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CLIP_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CLIP_RECT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CLIP_TYPE_MASK : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_CLIP_LEFT_AUTO : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_CLIP_TOP_AUTO : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_CLIP_RIGHT_AUTO : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_CLIP_BOTTOM_AUTO : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_FRAME_YES : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FRAME_NO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FRAME_0 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FRAME_1 : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FRAME_ON : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FRAME_OFF : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FRAME_AUTO : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FRAME_SCROLL : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FRAME_NOSCROLL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_OVERFLOW_VISIBLE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOW_HIDDEN : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OVERFLOW_SCROLL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OVERFLOW_AUTO : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_OVERFLOW_CLIP : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_OVERFLOW_SCROLLBARS_HORIZONTAL : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_OVERFLOW_SCROLLBARS_VERTICAL : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_OVERFLOW_CLIP_BOX_PADDING_BOX : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOW_CLIP_BOX_CONTENT_BOX : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_LIST_STYLE_CUSTOM : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_LIST_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_LIST_STYLE_DECIMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_LIST_STYLE_DISC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_LIST_STYLE_CIRCLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_LIST_STYLE_SQUARE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_LIST_STYLE_DISCLOSURE_CLOSED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_LIST_STYLE_DISCLOSURE_OPEN : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_LIST_STYLE_HEBREW : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_LIST_STYLE_JAPANESE_FORMAL : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANGUL_FORMAL : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANJA_INFORMAL : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANJA_FORMAL : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_LIST_STYLE_ETHIOPIC_NUMERIC : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_LIST_STYLE_LOWER_ROMAN : :: std :: os :: raw :: c_uint = 100 ; pub const NS_STYLE_LIST_STYLE_UPPER_ROMAN : :: std :: os :: raw :: c_uint = 101 ; pub const NS_STYLE_LIST_STYLE_LOWER_ALPHA : :: std :: os :: raw :: c_uint = 102 ; pub const NS_STYLE_LIST_STYLE_UPPER_ALPHA : :: std :: os :: raw :: c_uint = 103 ; pub const NS_STYLE_LIST_STYLE_POSITION_INSIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_LIST_STYLE_POSITION_OUTSIDE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MARGIN_SIZE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POINTER_EVENTS_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLEPAINTED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLEFILL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLESTROKE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_POINTER_EVENTS_PAINTED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_POINTER_EVENTS_FILL : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_POINTER_EVENTS_STROKE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_POINTER_EVENTS_ALL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_POINTER_EVENTS_AUTO : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_IMAGE_ORIENTATION_FLIP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGE_ORIENTATION_FROM_IMAGE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_ISOLATION_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ISOLATION_ISOLATE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OBJECT_FIT_FILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OBJECT_FIT_CONTAIN : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OBJECT_FIT_COVER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OBJECT_FIT_NONE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_OBJECT_FIT_SCALE_DOWN : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_RESIZE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RESIZE_BOTH : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RESIZE_HORIZONTAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_RESIZE_VERTICAL : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_ALIGN_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ALIGN_LEFT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ALIGN_RIGHT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_ALIGN_JUSTIFY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_ALIGN_CHAR : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_ALIGN_END : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_TEXT_ALIGN_AUTO : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_CENTER : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_RIGHT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_LEFT : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_CENTER_OR_INHERIT : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_TEXT_ALIGN_UNSAFE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_TEXT_ALIGN_MATCH_PARENT : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_TEXT_DECORATION_LINE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_DECORATION_LINE_UNDERLINE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_DECORATION_LINE_OVERLINE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_DECORATION_LINE_LINE_THROUGH : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_DECORATION_LINE_BLINK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_DECORATION_LINE_OVERRIDE_ALL : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_TEXT_DECORATION_LINE_LINES_MASK : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DOTTED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DASHED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_SOLID : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DOUBLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_WAVY : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_MAX : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_OVERFLOW_CLIP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_OVERFLOW_ELLIPSIS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_OVERFLOW_STRING : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_TRANSFORM_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_TRANSFORM_CAPITALIZE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_TRANSFORM_LOWERCASE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_TRANSFORM_UPPERCASE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_TRANSFORM_FULL_WIDTH : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TOUCH_ACTION_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TOUCH_ACTION_AUTO : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TOUCH_ACTION_PAN_X : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TOUCH_ACTION_PAN_Y : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TOUCH_ACTION_MANIPULATION : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_TOP_LAYER_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TOP_LAYER_TOP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_LINEAR : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_IN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_OUT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_IN_OUT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_START : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_END : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_VERTICAL_ALIGN_BASELINE : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_VERTICAL_ALIGN_SUB : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_VERTICAL_ALIGN_SUPER : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_VERTICAL_ALIGN_TOP : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_VERTICAL_ALIGN_TEXT_TOP : :: std :: os :: raw :: c_uint = 18 ; pub const NS_STYLE_VERTICAL_ALIGN_MIDDLE : :: std :: os :: raw :: c_uint = 19 ; pub const NS_STYLE_VERTICAL_ALIGN_TEXT_BOTTOM : :: std :: os :: raw :: c_uint = 20 ; pub const NS_STYLE_VERTICAL_ALIGN_BOTTOM : :: std :: os :: raw :: c_uint = 21 ; pub const NS_STYLE_VERTICAL_ALIGN_MIDDLE_WITH_BASELINE : :: std :: os :: raw :: c_uint = 22 ; pub const NS_STYLE_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_VISIBILITY_COLLAPSE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TABSIZE_INITIAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WORDBREAK_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WORDBREAK_BREAK_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WORDBREAK_KEEP_ALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OVERFLOWWRAP_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOWWRAP_BREAK_WORD : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_ALIGN_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RUBY_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_ALIGN_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_RUBY_ALIGN_SPACE_AROUND : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_RUBY_POSITION_OVER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RUBY_POSITION_UNDER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_POSITION_INTER_CHARACTER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_SIZE_ADJUST_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_SIZE_ADJUST_AUTO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ORIENTATION_MIXED : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ORIENTATION_UPRIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ORIENTATION_SIDEWAYS : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_2 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_3 : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_4 : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_LINE_HEIGHT_BLOCK_HEIGHT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_UNICODE_BIDI_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_UNICODE_BIDI_EMBED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_UNICODE_BIDI_ISOLATE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_UNICODE_BIDI_BIDI_OVERRIDE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_UNICODE_BIDI_ISOLATE_OVERRIDE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_UNICODE_BIDI_PLAINTEXT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TABLE_LAYOUT_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TABLE_LAYOUT_FIXED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TABLE_EMPTY_CELLS_HIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TABLE_EMPTY_CELLS_SHOW : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CAPTION_SIDE_TOP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CAPTION_SIDE_RIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CAPTION_SIDE_BOTTOM : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CAPTION_SIDE_LEFT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CAPTION_SIDE_TOP_OUTSIDE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CAPTION_SIDE_BOTTOM_OUTSIDE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_CELL_SCOPE_ROW : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CELL_SCOPE_COL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CELL_SCOPE_ROWGROUP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CELL_SCOPE_COLGROUP : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAGE_MARKS_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_MARKS_CROP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_MARKS_REGISTER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_SIZE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_SIZE_PORTRAIT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_SIZE_LANDSCAPE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_BREAK_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_BREAK_ALWAYS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_BREAK_AVOID : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_BREAK_LEFT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAGE_BREAK_RIGHT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_COLUMN_COUNT_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_COUNT_UNLIMITED : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_COLUMN_FILL_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_FILL_BALANCE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLUMN_SPAN_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_SPAN_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IME_MODE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IME_MODE_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IME_MODE_ACTIVE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IME_MODE_DISABLED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_IME_MODE_INACTIVE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_GRADIENT_SHAPE_LINEAR : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRADIENT_SHAPE_ELLIPTICAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRADIENT_SHAPE_CIRCULAR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRADIENT_SIZE_CLOSEST_SIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRADIENT_SIZE_CLOSEST_CORNER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRADIENT_SIZE_FARTHEST_SIDE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRADIENT_SIZE_FARTHEST_CORNER : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_GRADIENT_SIZE_EXPLICIT_SIZE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTEXT_PROPERTY_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTEXT_PROPERTY_STROKE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CONTEXT_PROPERTY_FILL_OPACITY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTEXT_PROPERTY_STROKE_OPACITY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WINDOW_SHADOW_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WINDOW_SHADOW_DEFAULT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WINDOW_SHADOW_MENU : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WINDOW_SHADOW_TOOLTIP : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_WINDOW_SHADOW_SHEET : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_DOMINANT_BASELINE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DOMINANT_BASELINE_USE_SCRIPT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DOMINANT_BASELINE_NO_CHANGE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_DOMINANT_BASELINE_RESET_SIZE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_DOMINANT_BASELINE_IDEOGRAPHIC : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_DOMINANT_BASELINE_ALPHABETIC : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_DOMINANT_BASELINE_HANGING : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_DOMINANT_BASELINE_MATHEMATICAL : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_DOMINANT_BASELINE_CENTRAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_DOMINANT_BASELINE_MIDDLE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_DOMINANT_BASELINE_TEXT_AFTER_EDGE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_DOMINANT_BASELINE_TEXT_BEFORE_EDGE : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_IMAGE_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGE_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGE_RENDERING_OPTIMIZEQUALITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGE_RENDERING_CRISPEDGES : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_MASK_TYPE_LUMINANCE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_TYPE_ALPHA : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAINT_ORDER_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAINT_ORDER_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAINT_ORDER_STROKE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAINT_ORDER_MARKERS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAINT_ORDER_LAST_VALUE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAINT_ORDER_BITWIDTH : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_SHAPE_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SHAPE_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SHAPE_RENDERING_CRISPEDGES : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_SHAPE_RENDERING_GEOMETRICPRECISION : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_STROKE_LINECAP_BUTT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_STROKE_LINECAP_ROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_STROKE_LINECAP_SQUARE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_STROKE_LINEJOIN_MITER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_STROKE_LINEJOIN_ROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_STROKE_LINEJOIN_BEVEL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_STROKE_PROP_CONTEXT_VALUE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ANCHOR_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ANCHOR_MIDDLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ANCHOR_END : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_OVER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_UNDER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_LEFT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT_ZH : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_FILL_MASK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_FILLED : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_OPEN : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_SHAPE_MASK : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_DOT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_CIRCLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_DOUBLE_CIRCLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_TRIANGLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_SESAME : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_STRING : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_TEXT_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_RENDERING_OPTIMIZELEGIBILITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_RENDERING_GEOMETRICPRECISION : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COLOR_ADJUST_ECONOMY : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLOR_ADJUST_EXACT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INTERPOLATION_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLOR_INTERPOLATION_SRGB : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INTERPOLATION_LINEARRGB : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_VECTOR_EFFECT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_VECTOR_EFFECT_NON_SCALING_STROKE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BACKFACE_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BACKFACE_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSFORM_STYLE_FLAT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSFORM_STYLE_PRESERVE_3D : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTEXT_FILL_OPACITY : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTEXT_STROKE_OPACITY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BLEND_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BLEND_MULTIPLY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BLEND_SCREEN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BLEND_OVERLAY : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BLEND_DARKEN : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_BLEND_LIGHTEN : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_BLEND_COLOR_DODGE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_BLEND_COLOR_BURN : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_BLEND_HARD_LIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_BLEND_SOFT_LIGHT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_BLEND_DIFFERENCE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_BLEND_EXCLUSION : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_BLEND_HUE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_BLEND_SATURATION : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_BLEND_COLOR : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_BLEND_LUMINOSITY : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_MASK_COMPOSITE_ADD : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_COMPOSITE_SUBTRACT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_COMPOSITE_INTERSECT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_MASK_COMPOSITE_EXCLUDE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CONTROL_CHARACTER_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTROL_CHARACTER_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SYSTEM_CYCLIC : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SYSTEM_NUMERIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SYSTEM_ALPHABETIC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_COUNTER_SYSTEM_SYMBOLIC : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COUNTER_SYSTEM_ADDITIVE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_COUNTER_SYSTEM_FIXED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_COUNTER_SYSTEM_EXTENDS : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_COUNTER_RANGE_INFINITE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SPEAKAS_BULLETS : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SPEAKAS_NUMBERS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SPEAKAS_WORDS : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_COUNTER_SPEAKAS_SPELL_OUT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COUNTER_SPEAKAS_OTHER : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_SCROLL_BEHAVIOR_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCROLL_BEHAVIOR_SMOOTH : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_MANDATORY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_PROXIMITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ORIENTATION_PORTRAIT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ORIENTATION_LANDSCAPE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCAN_PROGRESSIVE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCAN_INTERLACE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DISPLAY_MODE_BROWSER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DISPLAY_MODE_MINIMAL_UI : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DISPLAY_MODE_STANDALONE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_DISPLAY_MODE_FULLSCREEN : :: std :: os :: raw :: c_uint = 3 ; pub const CSS_PSEUDO_ELEMENT_IS_CSS2 : :: std :: os :: raw :: c_uint = 1 ; pub const CSS_PSEUDO_ELEMENT_CONTAINS_ELEMENTS : :: std :: os :: raw :: c_uint = 2 ; pub const CSS_PSEUDO_ELEMENT_SUPPORTS_STYLE_ATTRIBUTE : :: std :: os :: raw :: c_uint = 4 ; pub const CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE : :: std :: os :: raw :: c_uint = 8 ; pub const CSS_PSEUDO_ELEMENT_UA_SHEET_ONLY : :: std :: os :: raw :: c_uint = 16 ; pub const CSS_PSEUDO_ELEMENT_IS_JS_CREATED_NAC : :: std :: os :: raw :: c_uint = 32 ; pub const CSS_PSEUDO_ELEMENT_IS_FLEX_OR_GRID_ITEM : :: std :: os :: raw :: c_uint = 64 ; pub const kNameSpaceID_Unknown : :: std :: os :: raw :: c_int = -1 ; pub const kNameSpaceID_XMLNS : :: std :: os :: raw :: c_uint = 1 ; pub const kNameSpaceID_XML : :: std :: os :: raw :: c_uint = 2 ; pub const kNameSpaceID_XHTML : :: std :: os :: raw :: c_uint = 3 ; pub const kNameSpaceID_XLink : :: std :: os :: raw :: c_uint = 4 ; pub const kNameSpaceID_XSLT : :: std :: os :: raw :: c_uint = 5 ; pub const kNameSpaceID_XBL : :: std :: os :: raw :: c_uint = 6 ; pub const kNameSpaceID_MathML : :: std :: os :: raw :: c_uint = 7 ; pub const kNameSpaceID_RDF : :: std :: os :: raw :: c_uint = 8 ; pub const kNameSpaceID_XUL : :: std :: os :: raw :: c_uint = 9 ; pub const kNameSpaceID_SVG : :: std :: os :: raw :: c_uint = 10 ; pub const kNameSpaceID_disabled_MathML : :: std :: os :: raw :: c_uint = 11 ; pub const kNameSpaceID_disabled_SVG : :: std :: os :: raw :: c_uint = 12 ; pub const kNameSpaceID_LastBuiltin : :: std :: os :: raw :: c_uint = 12 ; pub const kNameSpaceID_Wildcard : :: std :: os :: raw :: c_int = -2147483648 ; pub const NS_AUTHOR_SPECIFIED_BACKGROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_AUTHOR_SPECIFIED_BORDER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_AUTHOR_SPECIFIED_PADDING : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_INHERIT_MASK : :: std :: os :: raw :: c_uint = 16777215 ; pub const NS_STYLE_HAS_TEXT_DECORATION_LINES : :: std :: os :: raw :: c_uint = 16777216 ; pub const NS_STYLE_HAS_PSEUDO_ELEMENT_DATA : :: std :: os :: raw :: c_uint = 33554432 ; pub const NS_STYLE_RELEVANT_LINK_VISITED : :: std :: os :: raw :: c_uint = 67108864 ; pub const NS_STYLE_IS_STYLE_IF_VISITED : :: std :: os :: raw :: c_uint = 134217728 ; pub const NS_STYLE_CHILD_USES_GRANDANCESTOR_STYLE : :: std :: os :: raw :: c_uint = 268435456 ; pub const NS_STYLE_IS_SHARED : :: std :: os :: raw :: c_uint = 536870912 ; pub const NS_STYLE_IS_GOING_AWAY : :: std :: os :: raw :: c_uint = 1073741824 ; pub const NS_STYLE_SUPPRESS_LINEBREAK : :: std :: os :: raw :: c_uint = 2147483648 ; pub const NS_STYLE_IN_DISPLAY_NONE_SUBTREE : :: std :: os :: raw :: c_ulonglong = 4294967296 ; pub const NS_STYLE_INELIGIBLE_FOR_SHARING : :: std :: os :: raw :: c_ulonglong = 8589934592 ; pub const NS_STYLE_HAS_CHILD_THAT_USES_RESET_STYLE : :: std :: os :: raw :: c_ulonglong = 17179869184 ; pub const NS_STYLE_IS_TEXT_COMBINED : :: std :: os :: raw :: c_ulonglong = 34359738368 ; pub const NS_STYLE_CONTEXT_IS_GECKO : :: std :: os :: raw :: c_ulonglong = 68719476736 ; pub const NS_STYLE_CONTEXT_TYPE_SHIFT : :: std :: os :: raw :: c_uint = 37 ; pub mod std { # [ allow ( unused_imports ) ] use self :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pair < _T1 , _T2 > { pub first : _T1 , pub second : _T2 , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < _T1 > > , pub _phantom_1 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < _T2 > > , } pub type pair_first_type < _T1 > = _T1 ; pub type pair_second_type < _T2 > = _T2 ; pub type pair__PCCP = u8 ; pub type pair__PCCFP = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct input_iterator_tag { pub _address : u8 , } # [ test ] fn bindgen_test_layout_input_iterator_tag ( ) { assert_eq ! ( :: std :: mem :: size_of :: < input_iterator_tag > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( input_iterator_tag ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < input_iterator_tag > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( input_iterator_tag ) ) ) ; } impl Clone for input_iterator_tag { fn clone ( & self ) -> Self { * self } } # [ 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 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct atomic { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct function { pub _address : u8 , } pub type _Base_bitset__WordT = :: std :: os :: raw :: c_ulong ; pub type bitset__Base = u8 ; pub type bitset__WordT = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct bitset_reference { pub _M_wp : * mut root :: std :: bitset__WordT , pub _M_bpos : usize , } } pub mod __gnu_cxx { # [ allow ( unused_imports ) ] use self :: super :: super :: root ; } pub mod mozilla { # [ allow ( unused_imports ) ] use self :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct fallible_t { pub _address : u8 , } # [ test ] fn bindgen_test_layout_fallible_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fallible_t > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( fallible_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fallible_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( fallible_t ) ) ) ; } impl Clone for fallible_t { fn clone ( & self ) -> Self { * self } } pub type IntegralConstant_ValueType < T > = T ; pub type IntegralConstant_Type = u8 ; +# [ allow ( non_snake_case , non_camel_case_types , non_upper_case_globals ) ] pub mod root { # [ repr ( C ) ] pub struct __BindgenUnionField < T > ( :: std :: marker :: PhantomData < T > ) ; impl < T > __BindgenUnionField < T > { # [ inline ] pub fn new ( ) -> Self { __BindgenUnionField ( :: std :: marker :: PhantomData ) } # [ inline ] pub unsafe fn as_ref ( & self ) -> & T { :: std :: mem :: transmute ( self ) } # [ inline ] pub unsafe fn as_mut ( & mut self ) -> & mut T { :: std :: mem :: transmute ( self ) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [ inline ] fn default ( ) -> Self { Self :: new ( ) } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [ inline ] fn clone ( & self ) -> Self { Self :: new ( ) } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter ) -> :: std :: fmt :: Result { fmt . write_str ( "__BindgenUnionField" ) } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > ( & self , _state : & mut H ) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq ( & self , _other : & __BindgenUnionField < T > ) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } # [ allow ( unused_imports ) ] use self :: super :: root ; pub const NS_FONT_STYLE_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_STYLE_ITALIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_STYLE_OBLIQUE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_WEIGHT_NORMAL : :: std :: os :: raw :: c_uint = 400 ; pub const NS_FONT_WEIGHT_BOLD : :: std :: os :: raw :: c_uint = 700 ; pub const NS_FONT_WEIGHT_THIN : :: std :: os :: raw :: c_uint = 100 ; pub const NS_FONT_STRETCH_ULTRA_CONDENSED : :: std :: os :: raw :: c_int = -4 ; pub const NS_FONT_STRETCH_EXTRA_CONDENSED : :: std :: os :: raw :: c_int = -3 ; pub const NS_FONT_STRETCH_CONDENSED : :: std :: os :: raw :: c_int = -2 ; pub const NS_FONT_STRETCH_SEMI_CONDENSED : :: std :: os :: raw :: c_int = -1 ; pub const NS_FONT_STRETCH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_STRETCH_SEMI_EXPANDED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_STRETCH_EXPANDED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_STRETCH_EXTRA_EXPANDED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_STRETCH_ULTRA_EXPANDED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_SMOOTHING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_SMOOTHING_GRAYSCALE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_KERNING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_KERNING_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_KERNING_NORMAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_SYNTHESIS_WEIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_SYNTHESIS_STYLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_DISPLAY_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_DISPLAY_BLOCK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_DISPLAY_SWAP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_DISPLAY_FALLBACK : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_DISPLAY_OPTIONAL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_ALTERNATES_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_ALTERNATES_HISTORICAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_ALTERNATES_STYLISTIC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_ALTERNATES_STYLESET : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_ALTERNATES_CHARACTER_VARIANT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_ALTERNATES_SWASH : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_ALTERNATES_ORNAMENTS : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_ALTERNATES_ANNOTATION : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_ALTERNATES_COUNT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_FONT_VARIANT_ALTERNATES_ENUMERATED_MASK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_ALTERNATES_FUNCTIONAL_MASK : :: std :: os :: raw :: c_uint = 126 ; pub const NS_FONT_VARIANT_CAPS_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_CAPS_SMALLCAPS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_CAPS_ALLSMALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_CAPS_PETITECAPS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_CAPS_ALLPETITE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_CAPS_TITLING : :: std :: os :: raw :: c_uint = 5 ; pub const NS_FONT_VARIANT_CAPS_UNICASE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_FONT_VARIANT_EAST_ASIAN_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS78 : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS83 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS90 : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS04 : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_EAST_ASIAN_RUBY : :: std :: os :: raw :: c_uint = 256 ; pub const NS_FONT_VARIANT_EAST_ASIAN_COUNT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_FONT_VARIANT_EAST_ASIAN_VARIANT_MASK : :: std :: os :: raw :: c_uint = 63 ; pub const NS_FONT_VARIANT_EAST_ASIAN_WIDTH_MASK : :: std :: os :: raw :: c_uint = 192 ; pub const NS_FONT_VARIANT_LIGATURES_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_LIGATURES_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_LIGATURES_COMMON : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_LIGATURES_NO_COMMON : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_LIGATURES_DISCRETIONARY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_LIGATURES_HISTORICAL : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_LIGATURES_CONTEXTUAL : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL : :: std :: os :: raw :: c_uint = 256 ; pub const NS_FONT_VARIANT_LIGATURES_COUNT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_FONT_VARIANT_LIGATURES_COMMON_MASK : :: std :: os :: raw :: c_uint = 6 ; pub const NS_FONT_VARIANT_LIGATURES_DISCRETIONARY_MASK : :: std :: os :: raw :: c_uint = 24 ; pub const NS_FONT_VARIANT_LIGATURES_HISTORICAL_MASK : :: std :: os :: raw :: c_uint = 96 ; pub const NS_FONT_VARIANT_LIGATURES_CONTEXTUAL_MASK : :: std :: os :: raw :: c_uint = 384 ; pub const NS_FONT_VARIANT_NUMERIC_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_NUMERIC_LINING : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_NUMERIC_OLDSTYLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_NUMERIC_PROPORTIONAL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_NUMERIC_TABULAR : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_NUMERIC_SLASHZERO : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_NUMERIC_ORDINAL : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_NUMERIC_COUNT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_NUMERIC_FIGURE_MASK : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_NUMERIC_SPACING_MASK : :: std :: os :: raw :: c_uint = 12 ; pub const NS_FONT_VARIANT_NUMERIC_FRACTION_MASK : :: std :: os :: raw :: c_uint = 48 ; pub const NS_FONT_VARIANT_POSITION_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_POSITION_SUPER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_POSITION_SUB : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_WIDTH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_WIDTH_FULL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_WIDTH_HALF : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_WIDTH_THIRD : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_WIDTH_QUARTER : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_SUBSCRIPT_OFFSET_RATIO : f64 = 0.2 ; pub const NS_FONT_SUPERSCRIPT_OFFSET_RATIO : f64 = 0.34 ; pub const NS_FONT_SUB_SUPER_SIZE_RATIO_SMALL : f64 = 0.82 ; pub const NS_FONT_SUB_SUPER_SIZE_RATIO_LARGE : f64 = 0.667 ; pub const NS_FONT_SUB_SUPER_SMALL_SIZE : f64 = 20. ; pub const NS_FONT_SUB_SUPER_LARGE_SIZE : f64 = 45. ; pub const NS_FONT_VARIANT_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_SMALL_CAPS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INHERIT_FROM_BODY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WILL_CHANGE_STACKING_CONTEXT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WILL_CHANGE_TRANSFORM : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WILL_CHANGE_SCROLL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_WILL_CHANGE_OPACITY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WILL_CHANGE_FIXPOS_CB : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_WILL_CHANGE_ABSPOS_CB : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_ANIMATION_ITERATION_COUNT_INFINITE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ANIMATION_PLAY_STATE_RUNNING : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ANIMATION_PLAY_STATE_PAUSED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_SCROLL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_FIXED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_LOCAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGELAYER_CLIP_MOZ_ALMOST_PADDING : :: std :: os :: raw :: c_uint = 127 ; pub const NS_STYLE_IMAGELAYER_POSITION_CENTER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_POSITION_TOP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGELAYER_POSITION_BOTTOM : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_IMAGELAYER_POSITION_LEFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_IMAGELAYER_POSITION_RIGHT : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_IMAGELAYER_SIZE_CONTAIN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGELAYER_SIZE_COVER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_MODE_ALPHA : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_MODE_LUMINANCE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_MODE_MATCH_SOURCE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BG_INLINE_POLICY_EACH_BOX : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BG_INLINE_POLICY_CONTINUOUS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BG_INLINE_POLICY_BOUNDING_BOX : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_COLLAPSE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_SEPARATE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_WIDTH_THIN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_WIDTH_MEDIUM : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_WIDTH_THICK : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_STYLE_GROOVE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_STYLE_RIDGE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_STYLE_DOTTED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BORDER_STYLE_DASHED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_BORDER_STYLE_SOLID : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_BORDER_STYLE_DOUBLE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_BORDER_STYLE_INSET : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_BORDER_STYLE_OUTSET : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_BORDER_STYLE_HIDDEN : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_BORDER_STYLE_AUTO : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_STRETCH : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_REPEAT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_ROUND : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_SPACE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BORDER_IMAGE_SLICE_NOFILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_IMAGE_SLICE_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CURSOR_AUTO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CURSOR_CROSSHAIR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CURSOR_DEFAULT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CURSOR_POINTER : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CURSOR_MOVE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_CURSOR_E_RESIZE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_CURSOR_NE_RESIZE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_CURSOR_NW_RESIZE : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_CURSOR_N_RESIZE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_CURSOR_SE_RESIZE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_CURSOR_SW_RESIZE : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_CURSOR_S_RESIZE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_CURSOR_W_RESIZE : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_CURSOR_TEXT : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_CURSOR_WAIT : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_CURSOR_HELP : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_CURSOR_COPY : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_CURSOR_ALIAS : :: std :: os :: raw :: c_uint = 18 ; pub const NS_STYLE_CURSOR_CONTEXT_MENU : :: std :: os :: raw :: c_uint = 19 ; pub const NS_STYLE_CURSOR_CELL : :: std :: os :: raw :: c_uint = 20 ; pub const NS_STYLE_CURSOR_GRAB : :: std :: os :: raw :: c_uint = 21 ; pub const NS_STYLE_CURSOR_GRABBING : :: std :: os :: raw :: c_uint = 22 ; pub const NS_STYLE_CURSOR_SPINNING : :: std :: os :: raw :: c_uint = 23 ; pub const NS_STYLE_CURSOR_ZOOM_IN : :: std :: os :: raw :: c_uint = 24 ; pub const NS_STYLE_CURSOR_ZOOM_OUT : :: std :: os :: raw :: c_uint = 25 ; pub const NS_STYLE_CURSOR_NOT_ALLOWED : :: std :: os :: raw :: c_uint = 26 ; pub const NS_STYLE_CURSOR_COL_RESIZE : :: std :: os :: raw :: c_uint = 27 ; pub const NS_STYLE_CURSOR_ROW_RESIZE : :: std :: os :: raw :: c_uint = 28 ; pub const NS_STYLE_CURSOR_NO_DROP : :: std :: os :: raw :: c_uint = 29 ; pub const NS_STYLE_CURSOR_VERTICAL_TEXT : :: std :: os :: raw :: c_uint = 30 ; pub const NS_STYLE_CURSOR_ALL_SCROLL : :: std :: os :: raw :: c_uint = 31 ; pub const NS_STYLE_CURSOR_NESW_RESIZE : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_CURSOR_NWSE_RESIZE : :: std :: os :: raw :: c_uint = 33 ; pub const NS_STYLE_CURSOR_NS_RESIZE : :: std :: os :: raw :: c_uint = 34 ; pub const NS_STYLE_CURSOR_EW_RESIZE : :: std :: os :: raw :: c_uint = 35 ; pub const NS_STYLE_CURSOR_NONE : :: std :: os :: raw :: c_uint = 36 ; pub const NS_STYLE_DIRECTION_LTR : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DIRECTION_RTL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WRITING_MODE_HORIZONTAL_TB : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WRITING_MODE_VERTICAL_RL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WRITING_MODE_VERTICAL_LR : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_MASK : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_RL : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_LR : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_CONTAIN_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTAIN_STRICT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTAIN_LAYOUT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CONTAIN_STYLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTAIN_PAINT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_CONTAIN_ALL_BITS : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_ALIGN_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ALIGN_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_ALIGN_START : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ALIGN_END : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_ALIGN_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_ALIGN_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_ALIGN_LEFT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_ALIGN_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_ALIGN_BASELINE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_ALIGN_LAST_BASELINE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_ALIGN_STRETCH : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_ALIGN_SELF_START : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_ALIGN_SELF_END : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_ALIGN_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_ALIGN_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_ALIGN_SPACE_EVENLY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_ALIGN_LEGACY : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_ALIGN_SAFE : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_ALIGN_UNSAFE : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_ALIGN_FLAG_BITS : :: std :: os :: raw :: c_uint = 224 ; pub const NS_STYLE_ALIGN_ALL_BITS : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_ALIGN_ALL_SHIFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_JUSTIFY_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_JUSTIFY_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_JUSTIFY_START : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_JUSTIFY_END : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_JUSTIFY_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_JUSTIFY_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_JUSTIFY_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_JUSTIFY_LEFT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_JUSTIFY_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_JUSTIFY_BASELINE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_JUSTIFY_LAST_BASELINE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_JUSTIFY_STRETCH : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_JUSTIFY_SELF_START : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_JUSTIFY_SELF_END : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_JUSTIFY_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_JUSTIFY_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_JUSTIFY_SPACE_EVENLY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_JUSTIFY_LEGACY : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_JUSTIFY_SAFE : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_JUSTIFY_UNSAFE : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_JUSTIFY_FLAG_BITS : :: std :: os :: raw :: c_uint = 224 ; pub const NS_STYLE_JUSTIFY_ALL_BITS : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_JUSTIFY_ALL_SHIFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FLEX_DIRECTION_ROW : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FLEX_DIRECTION_ROW_REVERSE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FLEX_DIRECTION_COLUMN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FLEX_DIRECTION_COLUMN_REVERSE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FLEX_WRAP_NOWRAP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FLEX_WRAP_WRAP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FLEX_WRAP_WRAP_REVERSE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ORDER_INITIAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_JUSTIFY_CONTENT_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_JUSTIFY_CONTENT_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_JUSTIFY_CONTENT_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_JUSTIFY_CONTENT_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_JUSTIFY_CONTENT_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_FILTER_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FILTER_URL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FILTER_BLUR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FILTER_BRIGHTNESS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FILTER_CONTRAST : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FILTER_GRAYSCALE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FILTER_INVERT : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FILTER_OPACITY : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FILTER_SATURATE : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FILTER_SEPIA : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FILTER_HUE_ROTATE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FILTER_DROP_SHADOW : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_FONT_STYLE_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_STYLE_ITALIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_STYLE_OBLIQUE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_WEIGHT_NORMAL : :: std :: os :: raw :: c_uint = 400 ; pub const NS_STYLE_FONT_WEIGHT_BOLD : :: std :: os :: raw :: c_uint = 700 ; pub const NS_STYLE_FONT_WEIGHT_BOLDER : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_FONT_WEIGHT_LIGHTER : :: std :: os :: raw :: c_int = -2 ; pub const NS_STYLE_FONT_SIZE_XXSMALL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_SIZE_XSMALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_SIZE_SMALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_SIZE_MEDIUM : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_SIZE_LARGE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_SIZE_XLARGE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FONT_SIZE_XXLARGE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FONT_SIZE_XXXLARGE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FONT_SIZE_LARGER : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FONT_SIZE_SMALLER : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FONT_SIZE_NO_KEYWORD : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FONT_STRETCH_ULTRA_CONDENSED : :: std :: os :: raw :: c_int = -4 ; pub const NS_STYLE_FONT_STRETCH_EXTRA_CONDENSED : :: std :: os :: raw :: c_int = -3 ; pub const NS_STYLE_FONT_STRETCH_CONDENSED : :: std :: os :: raw :: c_int = -2 ; pub const NS_STYLE_FONT_STRETCH_SEMI_CONDENSED : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_FONT_STRETCH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_STRETCH_SEMI_EXPANDED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_STRETCH_EXPANDED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_STRETCH_EXTRA_EXPANDED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_STRETCH_ULTRA_EXPANDED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_CAPTION : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_ICON : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_MENU : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_MESSAGE_BOX : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_SMALL_CAPTION : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FONT_STATUS_BAR : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FONT_WINDOW : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FONT_DOCUMENT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FONT_WORKSPACE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FONT_DESKTOP : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FONT_INFO : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_FONT_DIALOG : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_FONT_BUTTON : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_FONT_PULL_DOWN_MENU : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_FONT_LIST : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_FONT_FIELD : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_GRID_AUTO_FLOW_ROW : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRID_AUTO_FLOW_COLUMN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRID_AUTO_FLOW_DENSE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_GRID_TEMPLATE_SUBGRID : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRID_REPEAT_AUTO_FILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRID_REPEAT_AUTO_FIT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_MATHML_DEFAULT_SCRIPT_SIZE_MULTIPLIER : f64 = 0.71 ; pub const NS_MATHML_DEFAULT_SCRIPT_MIN_SIZE_PT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_MATHML_MATHVARIANT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_MATHML_MATHVARIANT_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_MATHML_MATHVARIANT_BOLD : :: std :: os :: raw :: c_uint = 2 ; pub const NS_MATHML_MATHVARIANT_ITALIC : :: std :: os :: raw :: c_uint = 3 ; pub const NS_MATHML_MATHVARIANT_BOLD_ITALIC : :: std :: os :: raw :: c_uint = 4 ; pub const NS_MATHML_MATHVARIANT_SCRIPT : :: std :: os :: raw :: c_uint = 5 ; pub const NS_MATHML_MATHVARIANT_BOLD_SCRIPT : :: std :: os :: raw :: c_uint = 6 ; pub const NS_MATHML_MATHVARIANT_FRAKTUR : :: std :: os :: raw :: c_uint = 7 ; pub const NS_MATHML_MATHVARIANT_DOUBLE_STRUCK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_MATHML_MATHVARIANT_BOLD_FRAKTUR : :: std :: os :: raw :: c_uint = 9 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF : :: std :: os :: raw :: c_uint = 10 ; pub const NS_MATHML_MATHVARIANT_BOLD_SANS_SERIF : :: std :: os :: raw :: c_uint = 11 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF_ITALIC : :: std :: os :: raw :: c_uint = 12 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF_BOLD_ITALIC : :: std :: os :: raw :: c_uint = 13 ; pub const NS_MATHML_MATHVARIANT_MONOSPACE : :: std :: os :: raw :: c_uint = 14 ; pub const NS_MATHML_MATHVARIANT_INITIAL : :: std :: os :: raw :: c_uint = 15 ; pub const NS_MATHML_MATHVARIANT_TAILED : :: std :: os :: raw :: c_uint = 16 ; pub const NS_MATHML_MATHVARIANT_LOOPED : :: std :: os :: raw :: c_uint = 17 ; pub const NS_MATHML_MATHVARIANT_STRETCHED : :: std :: os :: raw :: c_uint = 18 ; pub const NS_MATHML_DISPLAYSTYLE_INLINE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_MATHML_DISPLAYSTYLE_BLOCK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WIDTH_MAX_CONTENT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WIDTH_MIN_CONTENT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WIDTH_FIT_CONTENT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WIDTH_AVAILABLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POSITION_STATIC : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POSITION_RELATIVE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_POSITION_ABSOLUTE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_POSITION_FIXED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POSITION_STICKY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CLIP_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CLIP_RECT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CLIP_TYPE_MASK : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_CLIP_LEFT_AUTO : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_CLIP_TOP_AUTO : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_CLIP_RIGHT_AUTO : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_CLIP_BOTTOM_AUTO : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_FRAME_YES : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FRAME_NO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FRAME_0 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FRAME_1 : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FRAME_ON : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FRAME_OFF : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FRAME_AUTO : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FRAME_SCROLL : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FRAME_NOSCROLL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_OVERFLOW_VISIBLE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOW_HIDDEN : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OVERFLOW_SCROLL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OVERFLOW_AUTO : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_OVERFLOW_CLIP : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_OVERFLOW_SCROLLBARS_HORIZONTAL : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_OVERFLOW_SCROLLBARS_VERTICAL : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_OVERFLOW_CLIP_BOX_PADDING_BOX : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOW_CLIP_BOX_CONTENT_BOX : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_LIST_STYLE_CUSTOM : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_LIST_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_LIST_STYLE_DECIMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_LIST_STYLE_DISC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_LIST_STYLE_CIRCLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_LIST_STYLE_SQUARE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_LIST_STYLE_DISCLOSURE_CLOSED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_LIST_STYLE_DISCLOSURE_OPEN : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_LIST_STYLE_HEBREW : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_LIST_STYLE_JAPANESE_FORMAL : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANGUL_FORMAL : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANJA_INFORMAL : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANJA_FORMAL : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_LIST_STYLE_ETHIOPIC_NUMERIC : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_LIST_STYLE_LOWER_ROMAN : :: std :: os :: raw :: c_uint = 100 ; pub const NS_STYLE_LIST_STYLE_UPPER_ROMAN : :: std :: os :: raw :: c_uint = 101 ; pub const NS_STYLE_LIST_STYLE_LOWER_ALPHA : :: std :: os :: raw :: c_uint = 102 ; pub const NS_STYLE_LIST_STYLE_UPPER_ALPHA : :: std :: os :: raw :: c_uint = 103 ; pub const NS_STYLE_LIST_STYLE_POSITION_INSIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_LIST_STYLE_POSITION_OUTSIDE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MARGIN_SIZE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POINTER_EVENTS_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLEPAINTED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLEFILL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLESTROKE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_POINTER_EVENTS_PAINTED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_POINTER_EVENTS_FILL : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_POINTER_EVENTS_STROKE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_POINTER_EVENTS_ALL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_POINTER_EVENTS_AUTO : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_IMAGE_ORIENTATION_FLIP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGE_ORIENTATION_FROM_IMAGE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_ISOLATION_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ISOLATION_ISOLATE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OBJECT_FIT_FILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OBJECT_FIT_CONTAIN : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OBJECT_FIT_COVER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OBJECT_FIT_NONE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_OBJECT_FIT_SCALE_DOWN : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_RESIZE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RESIZE_BOTH : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RESIZE_HORIZONTAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_RESIZE_VERTICAL : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_ALIGN_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ALIGN_LEFT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ALIGN_RIGHT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_ALIGN_JUSTIFY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_ALIGN_CHAR : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_ALIGN_END : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_TEXT_ALIGN_AUTO : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_CENTER : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_RIGHT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_LEFT : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_CENTER_OR_INHERIT : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_TEXT_ALIGN_UNSAFE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_TEXT_ALIGN_MATCH_PARENT : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_TEXT_DECORATION_LINE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_DECORATION_LINE_UNDERLINE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_DECORATION_LINE_OVERLINE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_DECORATION_LINE_LINE_THROUGH : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_DECORATION_LINE_BLINK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_DECORATION_LINE_OVERRIDE_ALL : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_TEXT_DECORATION_LINE_LINES_MASK : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DOTTED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DASHED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_SOLID : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DOUBLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_WAVY : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_MAX : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_OVERFLOW_CLIP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_OVERFLOW_ELLIPSIS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_OVERFLOW_STRING : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_TRANSFORM_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_TRANSFORM_CAPITALIZE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_TRANSFORM_LOWERCASE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_TRANSFORM_UPPERCASE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_TRANSFORM_FULL_WIDTH : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TOUCH_ACTION_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TOUCH_ACTION_AUTO : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TOUCH_ACTION_PAN_X : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TOUCH_ACTION_PAN_Y : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TOUCH_ACTION_MANIPULATION : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_TOP_LAYER_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TOP_LAYER_TOP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_LINEAR : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_IN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_OUT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_IN_OUT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_START : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_END : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_VERTICAL_ALIGN_BASELINE : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_VERTICAL_ALIGN_SUB : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_VERTICAL_ALIGN_SUPER : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_VERTICAL_ALIGN_TOP : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_VERTICAL_ALIGN_TEXT_TOP : :: std :: os :: raw :: c_uint = 18 ; pub const NS_STYLE_VERTICAL_ALIGN_MIDDLE : :: std :: os :: raw :: c_uint = 19 ; pub const NS_STYLE_VERTICAL_ALIGN_TEXT_BOTTOM : :: std :: os :: raw :: c_uint = 20 ; pub const NS_STYLE_VERTICAL_ALIGN_BOTTOM : :: std :: os :: raw :: c_uint = 21 ; pub const NS_STYLE_VERTICAL_ALIGN_MIDDLE_WITH_BASELINE : :: std :: os :: raw :: c_uint = 22 ; pub const NS_STYLE_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_VISIBILITY_COLLAPSE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TABSIZE_INITIAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WORDBREAK_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WORDBREAK_BREAK_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WORDBREAK_KEEP_ALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OVERFLOWWRAP_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOWWRAP_BREAK_WORD : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_ALIGN_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RUBY_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_ALIGN_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_RUBY_ALIGN_SPACE_AROUND : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_RUBY_POSITION_OVER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RUBY_POSITION_UNDER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_POSITION_INTER_CHARACTER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_SIZE_ADJUST_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_SIZE_ADJUST_AUTO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ORIENTATION_MIXED : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ORIENTATION_UPRIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ORIENTATION_SIDEWAYS : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_2 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_3 : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_4 : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_LINE_HEIGHT_BLOCK_HEIGHT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_UNICODE_BIDI_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_UNICODE_BIDI_EMBED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_UNICODE_BIDI_ISOLATE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_UNICODE_BIDI_BIDI_OVERRIDE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_UNICODE_BIDI_ISOLATE_OVERRIDE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_UNICODE_BIDI_PLAINTEXT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TABLE_LAYOUT_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TABLE_LAYOUT_FIXED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TABLE_EMPTY_CELLS_HIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TABLE_EMPTY_CELLS_SHOW : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CAPTION_SIDE_TOP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CAPTION_SIDE_RIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CAPTION_SIDE_BOTTOM : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CAPTION_SIDE_LEFT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CAPTION_SIDE_TOP_OUTSIDE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CAPTION_SIDE_BOTTOM_OUTSIDE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_CELL_SCOPE_ROW : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CELL_SCOPE_COL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CELL_SCOPE_ROWGROUP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CELL_SCOPE_COLGROUP : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAGE_MARKS_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_MARKS_CROP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_MARKS_REGISTER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_SIZE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_SIZE_PORTRAIT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_SIZE_LANDSCAPE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_BREAK_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_BREAK_ALWAYS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_BREAK_AVOID : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_BREAK_LEFT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAGE_BREAK_RIGHT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_COLUMN_COUNT_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_COUNT_UNLIMITED : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_COLUMN_FILL_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_FILL_BALANCE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLUMN_SPAN_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_SPAN_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IME_MODE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IME_MODE_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IME_MODE_ACTIVE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IME_MODE_DISABLED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_IME_MODE_INACTIVE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_GRADIENT_SHAPE_LINEAR : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRADIENT_SHAPE_ELLIPTICAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRADIENT_SHAPE_CIRCULAR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRADIENT_SIZE_CLOSEST_SIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRADIENT_SIZE_CLOSEST_CORNER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRADIENT_SIZE_FARTHEST_SIDE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRADIENT_SIZE_FARTHEST_CORNER : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_GRADIENT_SIZE_EXPLICIT_SIZE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTEXT_PROPERTY_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTEXT_PROPERTY_STROKE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CONTEXT_PROPERTY_FILL_OPACITY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTEXT_PROPERTY_STROKE_OPACITY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WINDOW_SHADOW_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WINDOW_SHADOW_DEFAULT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WINDOW_SHADOW_MENU : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WINDOW_SHADOW_TOOLTIP : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_WINDOW_SHADOW_SHEET : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_DOMINANT_BASELINE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DOMINANT_BASELINE_USE_SCRIPT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DOMINANT_BASELINE_NO_CHANGE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_DOMINANT_BASELINE_RESET_SIZE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_DOMINANT_BASELINE_IDEOGRAPHIC : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_DOMINANT_BASELINE_ALPHABETIC : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_DOMINANT_BASELINE_HANGING : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_DOMINANT_BASELINE_MATHEMATICAL : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_DOMINANT_BASELINE_CENTRAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_DOMINANT_BASELINE_MIDDLE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_DOMINANT_BASELINE_TEXT_AFTER_EDGE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_DOMINANT_BASELINE_TEXT_BEFORE_EDGE : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_IMAGE_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGE_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGE_RENDERING_OPTIMIZEQUALITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGE_RENDERING_CRISPEDGES : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_MASK_TYPE_LUMINANCE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_TYPE_ALPHA : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAINT_ORDER_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAINT_ORDER_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAINT_ORDER_STROKE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAINT_ORDER_MARKERS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAINT_ORDER_LAST_VALUE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAINT_ORDER_BITWIDTH : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_SHAPE_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SHAPE_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SHAPE_RENDERING_CRISPEDGES : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_SHAPE_RENDERING_GEOMETRICPRECISION : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_STROKE_LINECAP_BUTT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_STROKE_LINECAP_ROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_STROKE_LINECAP_SQUARE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_STROKE_LINEJOIN_MITER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_STROKE_LINEJOIN_ROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_STROKE_LINEJOIN_BEVEL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_STROKE_PROP_CONTEXT_VALUE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ANCHOR_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ANCHOR_MIDDLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ANCHOR_END : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_OVER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_UNDER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_LEFT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT_ZH : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_FILL_MASK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_FILLED : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_OPEN : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_SHAPE_MASK : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_DOT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_CIRCLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_DOUBLE_CIRCLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_TRIANGLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_SESAME : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_STRING : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_TEXT_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_RENDERING_OPTIMIZELEGIBILITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_RENDERING_GEOMETRICPRECISION : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COLOR_ADJUST_ECONOMY : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLOR_ADJUST_EXACT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INTERPOLATION_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLOR_INTERPOLATION_SRGB : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INTERPOLATION_LINEARRGB : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_VECTOR_EFFECT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_VECTOR_EFFECT_NON_SCALING_STROKE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BACKFACE_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BACKFACE_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSFORM_STYLE_FLAT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSFORM_STYLE_PRESERVE_3D : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTEXT_FILL_OPACITY : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTEXT_STROKE_OPACITY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BLEND_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BLEND_MULTIPLY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BLEND_SCREEN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BLEND_OVERLAY : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BLEND_DARKEN : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_BLEND_LIGHTEN : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_BLEND_COLOR_DODGE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_BLEND_COLOR_BURN : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_BLEND_HARD_LIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_BLEND_SOFT_LIGHT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_BLEND_DIFFERENCE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_BLEND_EXCLUSION : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_BLEND_HUE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_BLEND_SATURATION : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_BLEND_COLOR : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_BLEND_LUMINOSITY : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_MASK_COMPOSITE_ADD : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_COMPOSITE_SUBTRACT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_COMPOSITE_INTERSECT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_MASK_COMPOSITE_EXCLUDE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CONTROL_CHARACTER_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTROL_CHARACTER_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SYSTEM_CYCLIC : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SYSTEM_NUMERIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SYSTEM_ALPHABETIC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_COUNTER_SYSTEM_SYMBOLIC : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COUNTER_SYSTEM_ADDITIVE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_COUNTER_SYSTEM_FIXED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_COUNTER_SYSTEM_EXTENDS : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_COUNTER_RANGE_INFINITE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SPEAKAS_BULLETS : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SPEAKAS_NUMBERS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SPEAKAS_WORDS : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_COUNTER_SPEAKAS_SPELL_OUT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COUNTER_SPEAKAS_OTHER : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_SCROLL_BEHAVIOR_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCROLL_BEHAVIOR_SMOOTH : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_MANDATORY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_PROXIMITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ORIENTATION_PORTRAIT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ORIENTATION_LANDSCAPE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCAN_PROGRESSIVE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCAN_INTERLACE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DISPLAY_MODE_BROWSER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DISPLAY_MODE_MINIMAL_UI : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DISPLAY_MODE_STANDALONE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_DISPLAY_MODE_FULLSCREEN : :: std :: os :: raw :: c_uint = 3 ; pub const CSS_PSEUDO_ELEMENT_IS_CSS2 : :: std :: os :: raw :: c_uint = 1 ; pub const CSS_PSEUDO_ELEMENT_CONTAINS_ELEMENTS : :: std :: os :: raw :: c_uint = 2 ; pub const CSS_PSEUDO_ELEMENT_SUPPORTS_STYLE_ATTRIBUTE : :: std :: os :: raw :: c_uint = 4 ; pub const CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE : :: std :: os :: raw :: c_uint = 8 ; pub const CSS_PSEUDO_ELEMENT_UA_SHEET_ONLY : :: std :: os :: raw :: c_uint = 16 ; pub const CSS_PSEUDO_ELEMENT_IS_JS_CREATED_NAC : :: std :: os :: raw :: c_uint = 32 ; pub const CSS_PSEUDO_ELEMENT_IS_FLEX_OR_GRID_ITEM : :: std :: os :: raw :: c_uint = 64 ; pub const kNameSpaceID_Unknown : :: std :: os :: raw :: c_int = -1 ; pub const kNameSpaceID_XMLNS : :: std :: os :: raw :: c_uint = 1 ; pub const kNameSpaceID_XML : :: std :: os :: raw :: c_uint = 2 ; pub const kNameSpaceID_XHTML : :: std :: os :: raw :: c_uint = 3 ; pub const kNameSpaceID_XLink : :: std :: os :: raw :: c_uint = 4 ; pub const kNameSpaceID_XSLT : :: std :: os :: raw :: c_uint = 5 ; pub const kNameSpaceID_XBL : :: std :: os :: raw :: c_uint = 6 ; pub const kNameSpaceID_MathML : :: std :: os :: raw :: c_uint = 7 ; pub const kNameSpaceID_RDF : :: std :: os :: raw :: c_uint = 8 ; pub const kNameSpaceID_XUL : :: std :: os :: raw :: c_uint = 9 ; pub const kNameSpaceID_SVG : :: std :: os :: raw :: c_uint = 10 ; pub const kNameSpaceID_disabled_MathML : :: std :: os :: raw :: c_uint = 11 ; pub const kNameSpaceID_disabled_SVG : :: std :: os :: raw :: c_uint = 12 ; pub const kNameSpaceID_LastBuiltin : :: std :: os :: raw :: c_uint = 12 ; pub const kNameSpaceID_Wildcard : :: std :: os :: raw :: c_int = -2147483648 ; pub const NS_AUTHOR_SPECIFIED_BACKGROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_AUTHOR_SPECIFIED_BORDER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_AUTHOR_SPECIFIED_PADDING : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_INHERIT_MASK : :: std :: os :: raw :: c_uint = 16777215 ; pub const NS_STYLE_HAS_TEXT_DECORATION_LINES : :: std :: os :: raw :: c_uint = 16777216 ; pub const NS_STYLE_HAS_PSEUDO_ELEMENT_DATA : :: std :: os :: raw :: c_uint = 33554432 ; pub const NS_STYLE_RELEVANT_LINK_VISITED : :: std :: os :: raw :: c_uint = 67108864 ; pub const NS_STYLE_IS_STYLE_IF_VISITED : :: std :: os :: raw :: c_uint = 134217728 ; pub const NS_STYLE_CHILD_USES_GRANDANCESTOR_STYLE : :: std :: os :: raw :: c_uint = 268435456 ; pub const NS_STYLE_IS_SHARED : :: std :: os :: raw :: c_uint = 536870912 ; pub const NS_STYLE_IS_GOING_AWAY : :: std :: os :: raw :: c_uint = 1073741824 ; pub const NS_STYLE_SUPPRESS_LINEBREAK : :: std :: os :: raw :: c_uint = 2147483648 ; pub const NS_STYLE_IN_DISPLAY_NONE_SUBTREE : :: std :: os :: raw :: c_ulonglong = 4294967296 ; pub const NS_STYLE_INELIGIBLE_FOR_SHARING : :: std :: os :: raw :: c_ulonglong = 8589934592 ; pub const NS_STYLE_HAS_CHILD_THAT_USES_RESET_STYLE : :: std :: os :: raw :: c_ulonglong = 17179869184 ; pub const NS_STYLE_IS_TEXT_COMBINED : :: std :: os :: raw :: c_ulonglong = 34359738368 ; pub const NS_STYLE_CONTEXT_IS_GECKO : :: std :: os :: raw :: c_ulonglong = 68719476736 ; pub const NS_STYLE_CONTEXT_TYPE_SHIFT : :: std :: os :: raw :: c_uint = 37 ; pub mod std { # [ allow ( unused_imports ) ] use self :: super :: super :: root ; pub type conditional_type < _If > = _If ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pair < _T1 , _T2 > { pub first : _T1 , pub second : _T2 , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < _T1 > > , pub _phantom_1 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < _T2 > > , } pub type pair_first_type < _T1 > = _T1 ; pub type pair_second_type < _T2 > = _T2 ; pub type pair__EnableB = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pair__CheckArgs { pub _address : u8 , } pub type pair__CheckArgsDep = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pair__CheckTupleLikeConstructor { pub _address : u8 , } pub type pair__CheckTLC = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct input_iterator_tag { pub _address : u8 , } # [ test ] fn bindgen_test_layout_input_iterator_tag ( ) { assert_eq ! ( :: std :: mem :: size_of :: < input_iterator_tag > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( input_iterator_tag ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < input_iterator_tag > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( input_iterator_tag ) ) ) ; } impl Clone for input_iterator_tag { 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 ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct iterator { pub _address : u8 , } 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 ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct atomic { pub _address : u8 , } pub type atomic___base = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct function { pub _address : u8 , } pub type __bit_reference___storage_type = [ u8 ; 0usize ] ; pub type __bit_reference___storage_pointer = [ u8 ; 0usize ] ; # [ 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 type __bit_iterator_difference_type = [ u8 ; 0usize ] ; pub type __bit_iterator_value_type = bool ; pub type __bit_iterator_pointer = u8 ; pub type __bit_iterator_reference = u8 ; pub type __bit_iterator_iterator_category = root :: std :: random_access_iterator_tag ; pub type __bit_iterator___storage_type = [ u8 ; 0usize ] ; pub type __bit_iterator___storage_pointer = [ u8 ; 0usize ] ; pub type __bitset_difference_type = isize ; pub type __bitset_size_type = usize ; pub type __bitset___storage_type = root :: std :: __bitset_size_type ; pub type __bitset___self = u8 ; pub type __bitset___storage_pointer = * mut root :: std :: __bitset___storage_type ; pub type __bitset___const_storage_pointer = * const root :: std :: __bitset___storage_type ; pub const __bitset___bits_per_word : :: std :: os :: raw :: c_uint = 64 ; pub type __bitset_reference = u8 ; pub type __bitset_const_reference = root :: std :: __bit_const_reference ; pub type __bitset_iterator = u8 ; pub type __bitset_const_iterator = u8 ; extern "C" { + # [ link_name = "\u{1}__n_words" ] + pub static mut bitset___n_words : :: std :: os :: raw :: c_uint ; +} pub type bitset_base = u8 ; pub type bitset_reference = root :: std :: bitset_base ; pub type bitset_const_reference = root :: std :: bitset_base ; } pub mod mozilla { # [ allow ( unused_imports ) ] use self :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct fallible_t { pub _address : u8 , } # [ test ] fn bindgen_test_layout_fallible_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fallible_t > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( fallible_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fallible_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( fallible_t ) ) ) ; } impl Clone for fallible_t { fn clone ( & self ) -> Self { * self } } pub type IntegralConstant_ValueType < T > = T ; pub type IntegralConstant_Type = u8 ; /// Convenient aliases. pub type TrueType = u8 ; pub type FalseType = u8 ; pub mod detail { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; pub const StringDataFlags_TERMINATED : root :: mozilla :: detail :: StringDataFlags = 1 ; pub const StringDataFlags_VOIDED : root :: mozilla :: detail :: StringDataFlags = 2 ; pub const StringDataFlags_SHARED : root :: mozilla :: detail :: StringDataFlags = 4 ; pub const StringDataFlags_OWNED : root :: mozilla :: detail :: StringDataFlags = 8 ; pub const StringDataFlags_INLINE : root :: mozilla :: detail :: StringDataFlags = 16 ; pub const StringDataFlags_LITERAL : root :: mozilla :: detail :: StringDataFlags = 32 ; pub type StringDataFlags = u16 ; pub const StringClassFlags_INLINE : root :: mozilla :: detail :: StringClassFlags = 1 ; pub const StringClassFlags_NULL_TERMINATED : root :: mozilla :: detail :: StringClassFlags = 2 ; pub type StringClassFlags = u16 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsTStringRepr < T > { pub mData : * mut root :: mozilla :: detail :: nsTStringRepr_char_type < T > , pub mLength : root :: mozilla :: detail :: nsTStringRepr_size_type , pub mDataFlags : root :: mozilla :: detail :: nsTStringRepr_DataFlags , pub mClassFlags : root :: mozilla :: detail :: nsTStringRepr_ClassFlags , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } pub type nsTStringRepr_fallible_t = root :: mozilla :: fallible_t ; pub type nsTStringRepr_char_type < T > = T ; pub type nsTStringRepr_self_type < T > = root :: mozilla :: detail :: nsTStringRepr < T > ; pub type nsTStringRepr_base_string_type < T > = root :: mozilla :: detail :: nsTStringRepr_self_type < T > ; pub type nsTStringRepr_substring_type < T > = root :: nsTSubstring < T > ; pub type nsTStringRepr_substring_tuple_type < T > = root :: nsTSubstringTuple < T > ; pub type nsTStringRepr_literalstring_type < T > = root :: nsTLiteralString < T > ; pub type nsTStringRepr_const_iterator < T > = root :: nsReadingIterator < root :: mozilla :: detail :: nsTStringRepr_char_type < T > > ; pub type nsTStringRepr_iterator < T > = root :: nsWritingIterator < root :: mozilla :: detail :: nsTStringRepr_char_type < T > > ; pub type nsTStringRepr_comparator_type = root :: nsTStringComparator ; pub type nsTStringRepr_char_iterator < T > = * mut root :: mozilla :: detail :: nsTStringRepr_char_type < T > ; pub type nsTStringRepr_const_char_iterator < T > = * const root :: mozilla :: detail :: nsTStringRepr_char_type < T > ; pub type nsTStringRepr_index_type = u32 ; pub type nsTStringRepr_size_type = u32 ; pub use self :: super :: super :: super :: root :: mozilla :: detail :: StringDataFlags as nsTStringRepr_DataFlags ; pub use self :: super :: super :: super :: root :: mozilla :: detail :: StringClassFlags as nsTStringRepr_ClassFlags ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsTStringRepr_raw_type { pub _address : u8 , } pub type nsTStringRepr_raw_type_type < U > = * mut U ; /// LinkedList supports refcounted elements using this adapter class. Clients @@ -67,15 +70,15 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum SheetParsingMode { eAuthorSheetFeatures = 0 , eUserSheetFeatures = 1 , eAgentSheetFeatures = 2 , eSafeAgentSheetFeatures = 3 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct GroupRule { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ImageLoader { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct URLValueData__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct URLValueData { pub vtable_ : * const URLValueData__bindgen_vtable , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mURI : root :: nsMainThreadPtrHandle < root :: nsIURI > , pub mExtraData : root :: RefPtr < root :: mozilla :: URLExtraData > , pub mURIResolved : bool , pub mIsLocalRef : [ u8 ; 2usize ] , pub mMightHaveRef : [ u8 ; 2usize ] , pub mStrings : root :: mozilla :: css :: URLValueData_RustOrGeckoString , pub mUsingRustString : bool , pub mLoadedImage : bool , } pub type URLValueData_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct URLValueData_RustOrGeckoString { pub mString : root :: __BindgenUnionField < ::nsstring::nsStringRepr > , pub mRustString : root :: __BindgenUnionField < ::gecko_bindings::structs::ServoRawOffsetArc < root :: RustString > > , pub bindgen_union_field : [ u64 ; 2usize ] , } # [ test ] fn bindgen_test_layout_URLValueData_RustOrGeckoString ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLValueData_RustOrGeckoString > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( URLValueData_RustOrGeckoString ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLValueData_RustOrGeckoString > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLValueData_RustOrGeckoString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData_RustOrGeckoString ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData_RustOrGeckoString ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData_RustOrGeckoString ) ) . mRustString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData_RustOrGeckoString ) , "::" , stringify ! ( mRustString ) ) ) ; } # [ test ] fn bindgen_test_layout_URLValueData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLValueData > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( URLValueData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLValueData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLValueData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mRefCnt as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mURI as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mExtraData as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mExtraData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mURIResolved as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mURIResolved ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mIsLocalRef as * const _ as usize } , 33usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mIsLocalRef ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mMightHaveRef as * const _ as usize } , 35usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mMightHaveRef ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mStrings as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mStrings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mUsingRustString as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mUsingRustString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mLoadedImage as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mLoadedImage ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct URLValue { pub _base : root :: mozilla :: css :: URLValueData , } # [ test ] fn bindgen_test_layout_URLValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLValue > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( URLValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLValue ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ImageValue { pub _base : root :: mozilla :: css :: URLValueData , pub mRequests : [ u64 ; 4usize ] , } # [ test ] fn bindgen_test_layout_ImageValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ImageValue > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( ImageValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ImageValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ImageValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ImageValue ) ) . mRequests as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ImageValue ) , "::" , stringify ! ( mRequests ) ) ) ; } # [ repr ( C ) ] pub struct GridNamedArea { pub mName : ::nsstring::nsStringRepr , pub mColumnStart : u32 , pub mColumnEnd : u32 , pub mRowStart : u32 , pub mRowEnd : u32 , } # [ test ] fn bindgen_test_layout_GridNamedArea ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GridNamedArea > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( GridNamedArea ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GridNamedArea > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GridNamedArea ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridNamedArea ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GridNamedArea ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridNamedArea ) ) . mColumnStart as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( GridNamedArea ) , "::" , stringify ! ( mColumnStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridNamedArea ) ) . mColumnEnd as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( GridNamedArea ) , "::" , stringify ! ( mColumnEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridNamedArea ) ) . mRowStart as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( GridNamedArea ) , "::" , stringify ! ( mRowStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridNamedArea ) ) . mRowEnd as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( GridNamedArea ) , "::" , stringify ! ( mRowEnd ) ) ) ; } # [ repr ( C ) ] pub struct GridTemplateAreasValue { pub mNamedAreas : root :: nsTArray < root :: mozilla :: css :: GridNamedArea > , pub mTemplates : root :: nsTArray < ::nsstring::nsStringRepr > , pub mNColumns : u32 , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , } pub type GridTemplateAreasValue_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_GridTemplateAreasValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GridTemplateAreasValue > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( GridTemplateAreasValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GridTemplateAreasValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GridTemplateAreasValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridTemplateAreasValue ) ) . mNamedAreas as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GridTemplateAreasValue ) , "::" , stringify ! ( mNamedAreas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridTemplateAreasValue ) ) . mTemplates as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( GridTemplateAreasValue ) , "::" , stringify ! ( mTemplates ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridTemplateAreasValue ) ) . mNColumns as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( GridTemplateAreasValue ) , "::" , stringify ! ( mNColumns ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridTemplateAreasValue ) ) . mRefCnt as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( GridTemplateAreasValue ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct RGBAColorData { pub mR : f32 , pub mG : f32 , pub mB : f32 , pub mA : f32 , } # [ test ] fn bindgen_test_layout_RGBAColorData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < RGBAColorData > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( RGBAColorData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < RGBAColorData > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( RGBAColorData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const RGBAColorData ) ) . mR as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( RGBAColorData ) , "::" , stringify ! ( mR ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const RGBAColorData ) ) . mG as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( RGBAColorData ) , "::" , stringify ! ( mG ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const RGBAColorData ) ) . mB as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( RGBAColorData ) , "::" , stringify ! ( mB ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const RGBAColorData ) ) . mA as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( RGBAColorData ) , "::" , stringify ! ( mA ) ) ) ; } impl Clone for RGBAColorData { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ComplexColorData { pub mColor : root :: mozilla :: css :: RGBAColorData , pub mForegroundRatio : f32 , } # [ test ] fn bindgen_test_layout_ComplexColorData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ComplexColorData > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( ComplexColorData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ComplexColorData > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ComplexColorData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComplexColorData ) ) . mColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ComplexColorData ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComplexColorData ) ) . mForegroundRatio as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ComplexColorData ) , "::" , stringify ! ( mForegroundRatio ) ) ) ; } impl Clone for ComplexColorData { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ComplexColorValue { pub _base : root :: mozilla :: css :: ComplexColorData , pub mRefCnt : root :: nsAutoRefCnt , } pub type ComplexColorValue_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_ComplexColorValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ComplexColorValue > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ComplexColorValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ComplexColorValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ComplexColorValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComplexColorValue ) ) . mRefCnt as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ComplexColorValue ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SheetLoadData { _unused : [ u8 ; 0 ] } /// Style sheet reuse * # [ repr ( C ) ] pub struct LoaderReusableStyleSheets { pub mReusableSheets : root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > , } # [ test ] fn bindgen_test_layout_LoaderReusableStyleSheets ( ) { assert_eq ! ( :: std :: mem :: size_of :: < LoaderReusableStyleSheets > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( LoaderReusableStyleSheets ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < LoaderReusableStyleSheets > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( LoaderReusableStyleSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const LoaderReusableStyleSheets ) ) . mReusableSheets as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( LoaderReusableStyleSheets ) , "::" , stringify ! ( mReusableSheets ) ) ) ; } # [ repr ( C ) ] pub struct Loader { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mSheets : root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > , pub mParsingDatas : [ u64 ; 10usize ] , pub mPostedEvents : root :: mozilla :: css :: Loader_LoadDataArray , pub mObservers : [ u64 ; 2usize ] , pub mDocument : * mut root :: nsIDocument , pub mDocGroup : root :: RefPtr < root :: mozilla :: dom :: DocGroup > , pub mDatasToNotifyOn : u32 , pub mCompatMode : root :: nsCompatibility , pub mPreferredSheet : ::nsstring::nsStringRepr , pub mStyleBackendType : [ u8 ; 2usize ] , pub mEnabled : bool , pub mReporter : root :: nsCOMPtr , } pub use self :: super :: super :: super :: root :: mozilla :: net :: ReferrerPolicy as Loader_ReferrerPolicy ; pub type Loader_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct Loader_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_Loader_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Loader_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( Loader_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Loader_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Loader_cycleCollection ) ) ) ; } impl Clone for Loader_cycleCollection { fn clone ( & self ) -> Self { * self } } pub type Loader_LoadDataArray = root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct Loader_Sheets { pub mCompleteSheets : [ u64 ; 4usize ] , pub mLoadingDatas : [ u64 ; 4usize ] , pub mPendingDatas : [ u64 ; 4usize ] , } # [ test ] fn bindgen_test_layout_Loader_Sheets ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Loader_Sheets > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( Loader_Sheets ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Loader_Sheets > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Loader_Sheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader_Sheets ) ) . mCompleteSheets as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( Loader_Sheets ) , "::" , stringify ! ( mCompleteSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader_Sheets ) ) . mLoadingDatas as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( Loader_Sheets ) , "::" , stringify ! ( mLoadingDatas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader_Sheets ) ) . mPendingDatas as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( Loader_Sheets ) , "::" , stringify ! ( mPendingDatas ) ) ) ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla3css6Loader21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN7mozilla3css6Loader21_cycleCollectorGlobalE" ] pub static mut Loader__cycleCollectorGlobal : root :: mozilla :: css :: Loader_cycleCollection ; } # [ test ] fn bindgen_test_layout_Loader ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Loader > ( ) , 176usize , concat ! ( "Size of: " , stringify ! ( Loader ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Loader > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Loader ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mSheets as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mParsingDatas as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mParsingDatas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mPostedEvents as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mPostedEvents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mObservers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mObservers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mDocument as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mDocGroup as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mDocGroup ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mDatasToNotifyOn as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mDatasToNotifyOn ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mCompatMode as * const _ as usize } , 140usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mCompatMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mPreferredSheet as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mPreferredSheet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mStyleBackendType as * const _ as usize } , 160usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mStyleBackendType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mEnabled as * const _ as usize } , 162usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mReporter as * const _ as usize } , 168usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mReporter ) ) ) ; } # [ repr ( C ) ] pub struct ErrorReporter { pub mError : root :: nsAutoString , pub mErrorLine : ::nsstring::nsStringRepr , pub mFileName : ::nsstring::nsStringRepr , pub mScanner : * const root :: nsCSSScanner , pub mSheet : * const root :: mozilla :: StyleSheet , pub mLoader : * const root :: mozilla :: css :: Loader , pub mURI : * mut root :: nsIURI , pub mInnerWindowID : u64 , pub mErrorLineNumber : u32 , pub mPrevErrorLineNumber : u32 , pub mErrorColNumber : u32 , } # [ test ] fn bindgen_test_layout_ErrorReporter ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ErrorReporter > ( ) , 240usize , concat ! ( "Size of: " , stringify ! ( ErrorReporter ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ErrorReporter > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ErrorReporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mError as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mError ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mErrorLine as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mErrorLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mFileName as * const _ as usize } , 168usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mFileName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mScanner as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mScanner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mSheet as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mSheet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mLoader as * const _ as usize } , 200usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mLoader ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mURI as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mInnerWindowID as * const _ as usize } , 216usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mInnerWindowID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mErrorLineNumber as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mErrorLineNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mPrevErrorLineNumber as * const _ as usize } , 228usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mPrevErrorLineNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mErrorColNumber as * const _ as usize } , 232usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mErrorColNumber ) ) ) ; } # [ repr ( i32 ) ] /// Enum defining the type of URL matching function for a @-moz-document rule /// condition. # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum URLMatchingFunction { eURL = 0 , eURLPrefix = 1 , eDomain = 2 , eRegExp = 3 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct Rule { pub _base : root :: nsIDOMCSSRule , pub _base_1 : root :: nsWrapperCache , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mSheet : * mut root :: mozilla :: StyleSheet , pub mParentRule : * mut root :: mozilla :: css :: GroupRule , pub mLineNumber : u32 , pub mColumnNumber : u32 , } pub type Rule_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct Rule_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_Rule_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Rule_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( Rule_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Rule_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Rule_cycleCollection ) ) ) ; } impl Clone for Rule_cycleCollection { fn clone ( & self ) -> Self { * self } } pub const Rule_UNKNOWN_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 0 ; pub const Rule_CHARSET_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 1 ; pub const Rule_IMPORT_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 2 ; pub const Rule_NAMESPACE_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 3 ; pub const Rule_STYLE_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 4 ; pub const Rule_MEDIA_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 5 ; pub const Rule_FONT_FACE_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 6 ; pub const Rule_PAGE_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 7 ; pub const Rule_KEYFRAME_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 8 ; pub const Rule_KEYFRAMES_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 9 ; pub const Rule_DOCUMENT_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 10 ; pub const Rule_SUPPORTS_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 11 ; pub const Rule_FONT_FEATURE_VALUES_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 12 ; pub const Rule_COUNTER_STYLE_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 13 ; pub type Rule__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}_ZN7mozilla3css4Rule21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN7mozilla3css4Rule21_cycleCollectorGlobalE" ] pub static mut Rule__cycleCollectorGlobal : root :: mozilla :: css :: Rule_cycleCollection ; -} # [ test ] fn bindgen_test_layout_Rule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Rule > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( Rule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Rule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Rule ) ) ) ; } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ThreadSafeAutoRefCnt { pub mValue : u64 , } pub const ThreadSafeAutoRefCnt_isThreadSafe : bool = true ; # [ test ] fn bindgen_test_layout_ThreadSafeAutoRefCnt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ThreadSafeAutoRefCnt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ThreadSafeAutoRefCnt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ThreadSafeAutoRefCnt > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ThreadSafeAutoRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ThreadSafeAutoRefCnt ) ) . mValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ThreadSafeAutoRefCnt ) , "::" , stringify ! ( mValue ) ) ) ; } pub type EnumeratedArray_ArrayType = u8 ; pub type EnumeratedArray_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_const_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_reverse_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_const_reverse_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct LinkedListElement { pub mNext : * mut root :: mozilla :: LinkedListElement , pub mPrev : * mut root :: mozilla :: LinkedListElement , pub mIsSentinel : bool , } pub type LinkedListElement_Traits = root :: mozilla :: detail :: LinkedListElementTraits ; pub type LinkedListElement_RawType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ConstRawType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ClientType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ConstClientType = root :: mozilla :: LinkedListElement_Traits ; pub const LinkedListElement_NodeKind_Normal : root :: mozilla :: LinkedListElement_NodeKind = 0 ; pub const LinkedListElement_NodeKind_Sentinel : root :: mozilla :: LinkedListElement_NodeKind = 0 ; pub type LinkedListElement_NodeKind = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct LinkedList { pub sentinel : root :: mozilla :: LinkedListElement , } pub type LinkedList_Traits = root :: mozilla :: detail :: LinkedListElementTraits ; pub type LinkedList_RawType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ConstRawType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ClientType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ConstClientType = root :: mozilla :: LinkedList_Traits ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct LinkedList_Iterator { pub mCurrent : root :: mozilla :: LinkedList_RawType , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Maybe { pub _address : u8 , } pub type Maybe_ValueType < T > = T ; pub mod gfx { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; pub type Float = f32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FontVariation { pub mTag : u32 , pub mValue : f32 , } # [ test ] fn bindgen_test_layout_FontVariation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontVariation > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( FontVariation ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontVariation > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FontVariation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontVariation ) ) . mTag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontVariation ) , "::" , stringify ! ( mTag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontVariation ) ) . mValue as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FontVariation ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for FontVariation { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SourceSurface { _unused : [ u8 ; 0 ] } } pub mod layers { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct LayerManager { _unused : [ u8 ; 0 ] } } pub mod dom { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct AllOwningUnionBase { pub _address : u8 , } # [ test ] fn bindgen_test_layout_AllOwningUnionBase ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AllOwningUnionBase > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( AllOwningUnionBase ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AllOwningUnionBase > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( AllOwningUnionBase ) ) ) ; } impl Clone for AllOwningUnionBase { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GlobalObject { pub mGlobalJSObject : [ u64 ; 3usize ] , pub mCx : * mut root :: JSContext , pub mGlobalObject : * mut root :: nsISupports , } # [ test ] fn bindgen_test_layout_GlobalObject ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GlobalObject > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( GlobalObject ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GlobalObject > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GlobalObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mGlobalJSObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mGlobalJSObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mCx as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mCx ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mGlobalObject as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mGlobalObject ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Sequence { pub _address : u8 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CallerType { System = 0 , NonSystem = 1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Nullable { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ClientSource { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CSSImportRule { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ShadowRoot { _unused : [ u8 ; 0 ] } +} # [ test ] fn bindgen_test_layout_Rule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Rule > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( Rule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Rule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Rule ) ) ) ; } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ThreadSafeAutoRefCnt { pub mValue : u64 , } pub const ThreadSafeAutoRefCnt_isThreadSafe : bool = true ; # [ test ] fn bindgen_test_layout_ThreadSafeAutoRefCnt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ThreadSafeAutoRefCnt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ThreadSafeAutoRefCnt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ThreadSafeAutoRefCnt > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ThreadSafeAutoRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ThreadSafeAutoRefCnt ) ) . mValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ThreadSafeAutoRefCnt ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for ThreadSafeAutoRefCnt { fn clone ( & self ) -> Self { * self } } pub type EnumeratedArray_ArrayType = u8 ; pub type EnumeratedArray_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_const_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_reverse_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_const_reverse_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct LinkedListElement { pub mNext : * mut root :: mozilla :: LinkedListElement , pub mPrev : * mut root :: mozilla :: LinkedListElement , pub mIsSentinel : bool , } pub type LinkedListElement_Traits = root :: mozilla :: detail :: LinkedListElementTraits ; pub type LinkedListElement_RawType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ConstRawType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ClientType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ConstClientType = root :: mozilla :: LinkedListElement_Traits ; pub const LinkedListElement_NodeKind_Normal : root :: mozilla :: LinkedListElement_NodeKind = 0 ; pub const LinkedListElement_NodeKind_Sentinel : root :: mozilla :: LinkedListElement_NodeKind = 0 ; pub type LinkedListElement_NodeKind = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct LinkedList { pub sentinel : root :: mozilla :: LinkedListElement , } pub type LinkedList_Traits = root :: mozilla :: detail :: LinkedListElementTraits ; pub type LinkedList_RawType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ConstRawType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ClientType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ConstClientType = root :: mozilla :: LinkedList_Traits ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct LinkedList_Iterator { pub mCurrent : root :: mozilla :: LinkedList_RawType , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Maybe { pub _address : u8 , } pub type Maybe_ValueType < T > = T ; pub mod gfx { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; pub type Float = f32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FontVariation { pub mTag : u32 , pub mValue : f32 , } # [ test ] fn bindgen_test_layout_FontVariation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontVariation > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( FontVariation ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontVariation > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FontVariation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontVariation ) ) . mTag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontVariation ) , "::" , stringify ! ( mTag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontVariation ) ) . mValue as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FontVariation ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for FontVariation { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SourceSurface { _unused : [ u8 ; 0 ] } } pub mod layers { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct LayerManager { _unused : [ u8 ; 0 ] } } pub mod dom { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct AllOwningUnionBase { pub _address : u8 , } # [ test ] fn bindgen_test_layout_AllOwningUnionBase ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AllOwningUnionBase > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( AllOwningUnionBase ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AllOwningUnionBase > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( AllOwningUnionBase ) ) ) ; } impl Clone for AllOwningUnionBase { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GlobalObject { pub mGlobalJSObject : [ u64 ; 3usize ] , pub mCx : * mut root :: JSContext , pub mGlobalObject : * mut root :: nsISupports , } # [ test ] fn bindgen_test_layout_GlobalObject ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GlobalObject > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( GlobalObject ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GlobalObject > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GlobalObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mGlobalJSObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mGlobalJSObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mCx as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mCx ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mGlobalObject as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mGlobalObject ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Sequence { pub _address : u8 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CallerType { System = 0 , NonSystem = 1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Nullable { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ClientSource { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CSSImportRule { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ShadowRoot { _unused : [ u8 ; 0 ] } /// Struct that stores info on an attribute. The name and value must either both /// be null or both be non-null. /// @@ -83,7 +86,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// this struct hold are only valid until the element or its attributes are /// mutated (directly or via script). # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct BorrowedAttrInfo { pub mName : * const root :: nsAttrName , pub mValue : * const root :: nsAttrValue , } # [ test ] fn bindgen_test_layout_BorrowedAttrInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < BorrowedAttrInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( BorrowedAttrInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < BorrowedAttrInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( BorrowedAttrInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const BorrowedAttrInfo ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( BorrowedAttrInfo ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const BorrowedAttrInfo ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( BorrowedAttrInfo ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for BorrowedAttrInfo { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct NodeInfo { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mDocument : * mut root :: nsIDocument , pub mInner : root :: mozilla :: dom :: NodeInfo_NodeInfoInner , pub mOwnerManager : root :: RefPtr < root :: nsNodeInfoManager > , pub mQualifiedName : ::nsstring::nsStringRepr , pub mNodeName : ::nsstring::nsStringRepr , pub mLocalName : ::nsstring::nsStringRepr , } pub type NodeInfo_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct NodeInfo_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_NodeInfo_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NodeInfo_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( NodeInfo_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NodeInfo_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NodeInfo_cycleCollection ) ) ) ; } impl Clone for NodeInfo_cycleCollection { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct NodeInfo_NodeInfoInner { pub mName : * const root :: nsAtom , pub mPrefix : * mut root :: nsAtom , pub mNamespaceID : i32 , pub mNodeType : u16 , pub mNameString : * const root :: nsAString , pub mExtraName : * mut root :: nsAtom , pub mHash : root :: PLHashNumber , pub mHashInitialized : bool , } # [ test ] fn bindgen_test_layout_NodeInfo_NodeInfoInner ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NodeInfo_NodeInfoInner > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( NodeInfo_NodeInfoInner ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NodeInfo_NodeInfoInner > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NodeInfo_NodeInfoInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mPrefix as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mPrefix ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mNamespaceID as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mNamespaceID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mNodeType as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mNodeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mNameString as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mNameString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mExtraName as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mExtraName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mHash as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mHashInitialized as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mHashInitialized ) ) ) ; } impl Clone for NodeInfo_NodeInfoInner { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla3dom8NodeInfo21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN7mozilla3dom8NodeInfo21_cycleCollectorGlobalE" ] pub static mut NodeInfo__cycleCollectorGlobal : root :: mozilla :: dom :: NodeInfo_cycleCollection ; } # [ test ] fn bindgen_test_layout_NodeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NodeInfo > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( NodeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NodeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mDocument as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mInner as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mOwnerManager as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mOwnerManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mQualifiedName as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mQualifiedName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mNodeName as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mNodeName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mLocalName as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mLocalName ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct EventTarget { pub _base : root :: nsIDOMEventTarget , pub _base_1 : root :: nsWrapperCache , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct EventTarget_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_EventTarget ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EventTarget > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( EventTarget ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EventTarget > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EventTarget ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct BoxQuadOptions { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ConvertCoordinateOptions { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMPoint { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMQuad { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TextOrElementOrDocument { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMPointInit { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct HTMLSlotElement { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TabGroup { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct DispatcherTrait__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct DispatcherTrait { pub vtable_ : * const DispatcherTrait__bindgen_vtable , } # [ test ] fn bindgen_test_layout_DispatcherTrait ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DispatcherTrait > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( DispatcherTrait ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DispatcherTrait > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DispatcherTrait ) ) ) ; } impl Clone for DispatcherTrait { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AudioContext { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DocGroup { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Performance { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ServiceWorkerRegistration { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TimeoutManager { _unused : [ u8 ; 0 ] } pub const LargeAllocStatus_NONE : root :: mozilla :: dom :: LargeAllocStatus = 0 ; pub const LargeAllocStatus_SUCCESS : root :: mozilla :: dom :: LargeAllocStatus = 1 ; pub const LargeAllocStatus_NON_GET : root :: mozilla :: dom :: LargeAllocStatus = 2 ; pub const LargeAllocStatus_NON_E10S : root :: mozilla :: dom :: LargeAllocStatus = 3 ; pub const LargeAllocStatus_NOT_ONLY_TOPLEVEL_IN_TABGROUP : root :: mozilla :: dom :: LargeAllocStatus = 4 ; pub const LargeAllocStatus_NON_WIN32 : root :: mozilla :: dom :: LargeAllocStatus = 5 ; pub type LargeAllocStatus = u8 ; pub mod prototypes { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } pub mod constructors { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } pub mod namedpropertiesobjects { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } pub const VisibilityState_Hidden : root :: mozilla :: dom :: VisibilityState = 0 ; pub const VisibilityState_Visible : root :: mozilla :: dom :: VisibilityState = 1 ; pub const VisibilityState_Prerender : root :: mozilla :: dom :: VisibilityState = 2 ; pub const VisibilityState_EndGuard_ : root :: mozilla :: dom :: VisibilityState = 3 ; pub type VisibilityState = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AnonymousContent { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct FontFaceSet { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct FullscreenRequest { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ImageTracker { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Link { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct MediaQueryList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XPathEvaluator { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FrameRequestCallback { pub _bindgen_opaque_blob : [ u64 ; 6usize ] , } # [ test ] fn bindgen_test_layout_FrameRequestCallback ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FrameRequestCallback > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( FrameRequestCallback ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FrameRequestCallback > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FrameRequestCallback ) ) ) ; } impl Clone for FrameRequestCallback { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct URLParams { pub mParams : root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > , } # [ repr ( C ) ] pub struct URLParams_ForEachIterator__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct URLParams_ForEachIterator { pub vtable_ : * const URLParams_ForEachIterator__bindgen_vtable , } # [ test ] fn bindgen_test_layout_URLParams_ForEachIterator ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams_ForEachIterator > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( URLParams_ForEachIterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams_ForEachIterator > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams_ForEachIterator ) ) ) ; } impl Clone for URLParams_ForEachIterator { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct URLParams_Param { pub mKey : ::nsstring::nsStringRepr , pub mValue : ::nsstring::nsStringRepr , } # [ test ] fn bindgen_test_layout_URLParams_Param ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams_Param > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( URLParams_Param ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams_Param > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams_Param ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams_Param ) ) . mKey as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams_Param ) , "::" , stringify ! ( mKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams_Param ) ) . mValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams_Param ) , "::" , stringify ! ( mValue ) ) ) ; } # [ test ] fn bindgen_test_layout_URLParams ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( URLParams ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams ) ) . mParams as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams ) , "::" , stringify ! ( mParams ) ) ) ; } # [ repr ( C ) ] pub struct SRIMetadata { pub mHashes : root :: nsTArray < root :: nsCString > , pub mIntegrityString : ::nsstring::nsStringRepr , pub mAlgorithm : root :: nsCString , pub mAlgorithmType : i8 , pub mEmpty : bool , } pub const SRIMetadata_MAX_ALTERNATE_HASHES : u32 = 256 ; pub const SRIMetadata_UNKNOWN_ALGORITHM : i8 = -1 ; # [ test ] fn bindgen_test_layout_SRIMetadata ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SRIMetadata > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( SRIMetadata ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SRIMetadata > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SRIMetadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mHashes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mHashes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mIntegrityString as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mIntegrityString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mAlgorithm as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mAlgorithm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mAlgorithmType as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mAlgorithmType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mEmpty as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mEmpty ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct OwningNodeOrString { pub mType : root :: mozilla :: dom :: OwningNodeOrString_Type , pub mValue : root :: mozilla :: dom :: OwningNodeOrString_Value , } pub const OwningNodeOrString_Type_eUninitialized : root :: mozilla :: dom :: OwningNodeOrString_Type = 0 ; pub const OwningNodeOrString_Type_eNode : root :: mozilla :: dom :: OwningNodeOrString_Type = 1 ; pub const OwningNodeOrString_Type_eString : root :: mozilla :: dom :: OwningNodeOrString_Type = 2 ; pub type OwningNodeOrString_Type = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct OwningNodeOrString_Value { pub _bindgen_opaque_blob : [ u64 ; 2usize ] , } # [ test ] fn bindgen_test_layout_OwningNodeOrString_Value ( ) { assert_eq ! ( :: std :: mem :: size_of :: < OwningNodeOrString_Value > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( OwningNodeOrString_Value ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < OwningNodeOrString_Value > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( OwningNodeOrString_Value ) ) ) ; } impl Clone for OwningNodeOrString_Value { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_OwningNodeOrString ( ) { assert_eq ! ( :: std :: mem :: size_of :: < OwningNodeOrString > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( OwningNodeOrString ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < OwningNodeOrString > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( OwningNodeOrString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const OwningNodeOrString ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( OwningNodeOrString ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const OwningNodeOrString ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( OwningNodeOrString ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum FillMode { None = 0 , Forwards = 1 , Backwards = 2 , Both = 3 , Auto = 4 , EndGuard_ = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum PlaybackDirection { Normal = 0 , Reverse = 1 , Alternate = 2 , Alternate_reverse = 3 , EndGuard_ = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CompositeOperation { Replace = 0 , Add = 1 , Accumulate = 2 , EndGuard_ = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum IterationCompositeOperation { Replace = 0 , Accumulate = 1 , EndGuard_ = 2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XBLChildrenElement { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CustomElementData { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct FragmentOrElement { pub _base : root :: nsIContent , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , /// Array containing all attributes and children for this element @@ -138,16 +141,16 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: pub mChildrenList : root :: RefPtr < root :: nsContentList > , /// An object implementing the .classList property for this element. pub mClassList : root :: RefPtr < root :: nsDOMTokenList > , pub mExtendedSlots : root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > , } # [ test ] fn bindgen_test_layout_FragmentOrElement_nsDOMSlots ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FragmentOrElement_nsDOMSlots > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( FragmentOrElement_nsDOMSlots ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FragmentOrElement_nsDOMSlots > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FragmentOrElement_nsDOMSlots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mStyle as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mDataset as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mDataset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mAttributeMap as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mAttributeMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mChildrenList as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mChildrenList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mClassList as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mClassList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mExtendedSlots as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mExtendedSlots ) ) ) ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla3dom17FragmentOrElement21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN7mozilla3dom17FragmentOrElement21_cycleCollectorGlobalE" ] pub static mut FragmentOrElement__cycleCollectorGlobal : root :: mozilla :: dom :: FragmentOrElement_cycleCollection ; } # [ test ] fn bindgen_test_layout_FragmentOrElement ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FragmentOrElement > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( FragmentOrElement ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FragmentOrElement > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FragmentOrElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement ) ) . mRefCnt as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement ) ) . mAttrsAndChildren as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement ) , "::" , stringify ! ( mAttrsAndChildren ) ) ) ; } # [ repr ( C ) ] pub struct Attr { pub _base : root :: nsIAttribute , pub _base_1 : root :: nsIDOMAttr , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mValue : ::nsstring::nsStringRepr , } pub type Attr_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct Attr_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_Attr_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Attr_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( Attr_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Attr_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Attr_cycleCollection ) ) ) ; } impl Clone for Attr_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla3dom4Attr21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN7mozilla3dom4Attr21_cycleCollectorGlobalE" ] pub static mut Attr__cycleCollectorGlobal : root :: mozilla :: dom :: Attr_cycleCollection ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla3dom4Attr12sInitializedE" ] + # [ link_name = "\u{1}__ZN7mozilla3dom4Attr12sInitializedE" ] pub static mut Attr_sInitialized : bool ; } # [ test ] fn bindgen_test_layout_Attr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Attr > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( Attr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Attr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Attr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct DOMRectReadOnly { pub _base : root :: nsISupports , pub _base_1 : root :: nsWrapperCache , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mParent : root :: nsCOMPtr , } pub type DOMRectReadOnly_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct DOMRectReadOnly_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_DOMRectReadOnly_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DOMRectReadOnly_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( DOMRectReadOnly_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DOMRectReadOnly_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DOMRectReadOnly_cycleCollection ) ) ) ; } impl Clone for DOMRectReadOnly_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla3dom15DOMRectReadOnly21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN7mozilla3dom15DOMRectReadOnly21_cycleCollectorGlobalE" ] pub static mut DOMRectReadOnly__cycleCollectorGlobal : root :: mozilla :: dom :: DOMRectReadOnly_cycleCollection ; } # [ test ] fn bindgen_test_layout_DOMRectReadOnly ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DOMRectReadOnly > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( DOMRectReadOnly ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DOMRectReadOnly > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DOMRectReadOnly ) ) ) ; } # [ repr ( C ) ] pub struct Element { pub _base : root :: mozilla :: dom :: FragmentOrElement , pub mState : root :: mozilla :: EventStates , pub mServoData : ::gecko_bindings::structs::ServoCell < * mut ::gecko_bindings::structs::ServoNodeData > , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Element_COMTypeInfo { pub _address : u8 , } /// StyleStateLocks is used to specify which event states should be locked, @@ -181,7 +184,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// We require this to be memmovable since Rust code can create and move /// StyleChildrenIterators. # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct StyleChildrenIterator { pub _base : root :: mozilla :: dom :: AllChildrenIterator , } # [ test ] fn bindgen_test_layout_StyleChildrenIterator ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleChildrenIterator > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( StyleChildrenIterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleChildrenIterator > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleChildrenIterator ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct MediaList { pub _base : root :: nsIDOMMediaList , pub _base_1 : root :: nsWrapperCache , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mStyleSheet : * mut root :: mozilla :: StyleSheet , } pub type MediaList_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct MediaList_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_MediaList_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < MediaList_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( MediaList_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < MediaList_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( MediaList_cycleCollection ) ) ) ; } impl Clone for MediaList_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla3dom9MediaList21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN7mozilla3dom9MediaList21_cycleCollectorGlobalE" ] pub static mut MediaList__cycleCollectorGlobal : root :: mozilla :: dom :: MediaList_cycleCollection ; } # [ test ] fn bindgen_test_layout_MediaList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < MediaList > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( MediaList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < MediaList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( MediaList ) ) ) ; } } # [ repr ( C ) ] pub struct CSSVariableValues { /// Map of variable names to IDs. Variable IDs are indexes into @@ -206,13 +209,13 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// value (in Servo) and the computed value (in both Gecko and Servo) of the /// font-family property. # [ repr ( C ) ] pub struct SharedFontList { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mNames : root :: nsTArray < root :: mozilla :: FontFamilyName > , } pub type SharedFontList_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; extern "C" { - # [ link_name = "\u{1}_ZN7mozilla14SharedFontList6sEmptyE" ] + # [ link_name = "\u{1}__ZN7mozilla14SharedFontList6sEmptyE" ] pub static mut SharedFontList_sEmpty : root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > ; } # [ test ] fn bindgen_test_layout_SharedFontList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SharedFontList > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SharedFontList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SharedFontList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SharedFontList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SharedFontList ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( SharedFontList ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SharedFontList ) ) . mNames as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( SharedFontList ) , "::" , stringify ! ( mNames ) ) ) ; } # [ test ] fn __bindgen_test_layout_StaticRefPtr_open0_SharedFontList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > ) ) ) ; } /// font family list, array of font families and a default font type. /// font family names are either named strings or generics. the default /// font type is used to preserve the variable font fallback behavior - # [ repr ( C ) ] pub struct FontFamilyList { pub mFontlist : root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > , pub mDefaultFontType : root :: mozilla :: FontFamilyType , } # [ test ] fn bindgen_test_layout_FontFamilyList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontFamilyList > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( FontFamilyList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontFamilyList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FontFamilyList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontFamilyList ) ) . mFontlist as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontFamilyList ) , "::" , stringify ! ( mFontlist ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontFamilyList ) ) . mDefaultFontType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FontFamilyList ) , "::" , stringify ! ( mDefaultFontType ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBasicShapeType { Polygon = 0 , Circle = 1 , Ellipse = 2 , Inset = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxAlign { Stretch = 0 , Start = 1 , Center = 2 , Baseline = 3 , End = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxDecorationBreak { Slice = 0 , Clone = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxDirection { Normal = 0 , Reverse = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxOrient { Horizontal = 0 , Vertical = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxPack { Start = 0 , Center = 1 , End = 2 , Justify = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxSizing { Content = 0 , Border = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleClear { None = 0 , Left = 1 , Right = 2 , InlineStart = 3 , InlineEnd = 4 , Both = 5 , Line = 8 , Max = 13 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleGeometryBox { ContentBox = 0 , PaddingBox = 1 , BorderBox = 2 , MarginBox = 3 , FillBox = 4 , StrokeBox = 5 , ViewBox = 6 , NoClip = 7 , Text = 8 , NoBox = 9 , MozAlmostPadding = 127 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFillRule { Nonzero = 0 , Evenodd = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFloat { None = 0 , Left = 1 , Right = 2 , InlineStart = 3 , InlineEnd = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFloatEdge { ContentBox = 0 , MarginBox = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleHyphens { None = 0 , Manual = 1 , Auto = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleShapeRadius { ClosestSide = 0 , FarthestSide = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleShapeSourceType { None = 0 , URL = 1 , Shape = 2 , Box = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleStackSizing { Ignore = 0 , StretchToFit = 1 , IgnoreHorizontal = 2 , IgnoreVertical = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleTextJustify { None = 0 , Auto = 1 , InterWord = 2 , InterCharacter = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserFocus { None = 0 , Ignore = 1 , Normal = 2 , SelectAll = 3 , SelectBefore = 4 , SelectAfter = 5 , SelectSame = 6 , SelectMenu = 7 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserSelect { None = 0 , Text = 1 , Element = 2 , Elements = 3 , All = 4 , Toggle = 5 , TriState = 6 , Auto = 7 , MozAll = 8 , MozText = 9 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserInput { None = 0 , Enabled = 1 , Disabled = 2 , Auto = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserModify { ReadOnly = 0 , ReadWrite = 1 , WriteOnly = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleWindowDragging { Default = 0 , Drag = 1 , NoDrag = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleOrient { Inline = 0 , Block = 1 , Horizontal = 2 , Vertical = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleImageLayerRepeat { NoRepeat = 0 , RepeatX = 1 , RepeatY = 2 , Repeat = 3 , Space = 4 , Round = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleDisplay { None = 0 , Block = 1 , FlowRoot = 2 , Inline = 3 , InlineBlock = 4 , ListItem = 5 , Table = 6 , InlineTable = 7 , TableRowGroup = 8 , TableColumn = 9 , TableColumnGroup = 10 , TableHeaderGroup = 11 , TableFooterGroup = 12 , TableRow = 13 , TableCell = 14 , TableCaption = 15 , Flex = 16 , InlineFlex = 17 , Grid = 18 , InlineGrid = 19 , Ruby = 20 , RubyBase = 21 , RubyBaseContainer = 22 , RubyText = 23 , RubyTextContainer = 24 , Contents = 25 , WebkitBox = 26 , WebkitInlineBox = 27 , MozBox = 28 , MozInlineBox = 29 , MozGrid = 30 , MozInlineGrid = 31 , MozGridGroup = 32 , MozGridLine = 33 , MozStack = 34 , MozInlineStack = 35 , MozDeck = 36 , MozGroupbox = 37 , MozPopup = 38 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleGridTrackBreadth { MaxContent = 1 , MinContent = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleWhiteSpace { Normal = 0 , Pre = 1 , Nowrap = 2 , PreWrap = 3 , PreLine = 4 , PreSpace = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleOverscrollBehavior { Auto = 0 , Contain = 1 , None = 2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SupportsWeakPtr { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct WeakPtr { pub _address : u8 , } pub type WeakPtr_WeakReference = u8 ; pub type AtomArray = root :: nsTArray < root :: RefPtr < root :: nsAtom > > ; + # [ repr ( C ) ] pub struct FontFamilyList { pub mFontlist : root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > , pub mDefaultFontType : root :: mozilla :: FontFamilyType , } # [ test ] fn bindgen_test_layout_FontFamilyList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontFamilyList > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( FontFamilyList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontFamilyList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FontFamilyList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontFamilyList ) ) . mFontlist as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontFamilyList ) , "::" , stringify ! ( mFontlist ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontFamilyList ) ) . mDefaultFontType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FontFamilyList ) , "::" , stringify ! ( mDefaultFontType ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBasicShapeType { Polygon = 0 , Circle = 1 , Ellipse = 2 , Inset = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxAlign { Stretch = 0 , Start = 1 , Center = 2 , Baseline = 3 , End = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxDecorationBreak { Slice = 0 , Clone = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxDirection { Normal = 0 , Reverse = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxOrient { Horizontal = 0 , Vertical = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxPack { Start = 0 , Center = 1 , End = 2 , Justify = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxSizing { Content = 0 , Border = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleClear { None = 0 , Left = 1 , Right = 2 , InlineStart = 3 , InlineEnd = 4 , Both = 5 , Line = 8 , Max = 13 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleGeometryBox { ContentBox = 0 , PaddingBox = 1 , BorderBox = 2 , MarginBox = 3 , FillBox = 4 , StrokeBox = 5 , ViewBox = 6 , NoClip = 7 , Text = 8 , NoBox = 9 , MozAlmostPadding = 127 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFillRule { Nonzero = 0 , Evenodd = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFloat { None = 0 , Left = 1 , Right = 2 , InlineStart = 3 , InlineEnd = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFloatEdge { ContentBox = 0 , MarginBox = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleHyphens { None = 0 , Manual = 1 , Auto = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleShapeRadius { ClosestSide = 0 , FarthestSide = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleShapeSourceType { None = 0 , URL = 1 , Image = 2 , Shape = 3 , Box = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleStackSizing { Ignore = 0 , StretchToFit = 1 , IgnoreHorizontal = 2 , IgnoreVertical = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleTextJustify { None = 0 , Auto = 1 , InterWord = 2 , InterCharacter = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserFocus { None = 0 , Ignore = 1 , Normal = 2 , SelectAll = 3 , SelectBefore = 4 , SelectAfter = 5 , SelectSame = 6 , SelectMenu = 7 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserSelect { None = 0 , Text = 1 , Element = 2 , Elements = 3 , All = 4 , Toggle = 5 , TriState = 6 , Auto = 7 , MozAll = 8 , MozText = 9 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserInput { None = 0 , Enabled = 1 , Disabled = 2 , Auto = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserModify { ReadOnly = 0 , ReadWrite = 1 , WriteOnly = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleWindowDragging { Default = 0 , Drag = 1 , NoDrag = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleOrient { Inline = 0 , Block = 1 , Horizontal = 2 , Vertical = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleImageLayerRepeat { NoRepeat = 0 , RepeatX = 1 , RepeatY = 2 , Repeat = 3 , Space = 4 , Round = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleDisplay { None = 0 , Block = 1 , FlowRoot = 2 , Inline = 3 , InlineBlock = 4 , ListItem = 5 , Table = 6 , InlineTable = 7 , TableRowGroup = 8 , TableColumn = 9 , TableColumnGroup = 10 , TableHeaderGroup = 11 , TableFooterGroup = 12 , TableRow = 13 , TableCell = 14 , TableCaption = 15 , Flex = 16 , InlineFlex = 17 , Grid = 18 , InlineGrid = 19 , Ruby = 20 , RubyBase = 21 , RubyBaseContainer = 22 , RubyText = 23 , RubyTextContainer = 24 , Contents = 25 , WebkitBox = 26 , WebkitInlineBox = 27 , MozBox = 28 , MozInlineBox = 29 , MozGrid = 30 , MozInlineGrid = 31 , MozGridGroup = 32 , MozGridLine = 33 , MozStack = 34 , MozInlineStack = 35 , MozDeck = 36 , MozGroupbox = 37 , MozPopup = 38 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleGridTrackBreadth { MaxContent = 1 , MinContent = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleWhiteSpace { Normal = 0 , Pre = 1 , Nowrap = 2 , PreWrap = 3 , PreLine = 4 , PreSpace = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleOverscrollBehavior { Auto = 0 , Contain = 1 , None = 2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SupportsWeakPtr { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct WeakPtr { pub _address : u8 , } pub type WeakPtr_WeakReference = u8 ; pub type AtomArray = root :: nsTArray < root :: RefPtr < root :: nsAtom > > ; /// EventStates is the class used to represent the event states of nsIContent /// instances. These states are calculated by IntrinsicState() and /// ContentStatesChanged() has to be called when one of them changes thus @@ -274,7 +277,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: pub mValue : root :: mozilla :: TimeStampValue , } # [ test ] fn bindgen_test_layout_TimeStamp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TimeStamp > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( TimeStamp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TimeStamp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( TimeStamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const TimeStamp ) ) . mValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( TimeStamp ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for TimeStamp { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct MallocAllocPolicy { pub _address : u8 , } # [ test ] fn bindgen_test_layout_MallocAllocPolicy ( ) { assert_eq ! ( :: std :: mem :: size_of :: < MallocAllocPolicy > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( MallocAllocPolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < MallocAllocPolicy > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( MallocAllocPolicy ) ) ) ; } impl Clone for MallocAllocPolicy { fn clone ( & self ) -> Self { * self } } pub type Vector_Impl = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Vector_CapacityAndReserved { pub mCapacity : usize , } pub type Vector_ElementType < T > = T ; pub const Vector_InlineLength : root :: mozilla :: Vector__bindgen_ty_1 = 0 ; pub type Vector__bindgen_ty_1 = i32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Vector_Range < T > { pub mCur : * mut T , pub mEnd : * mut T , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Vector_ConstRange < T > { pub mCur : * mut T , pub mEnd : * mut T , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } pub mod binding_danger { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct AssertAndSuppressCleanupPolicy { pub _address : u8 , } pub const AssertAndSuppressCleanupPolicy_assertHandled : bool = true ; pub const AssertAndSuppressCleanupPolicy_suppress : bool = true ; # [ test ] fn bindgen_test_layout_AssertAndSuppressCleanupPolicy ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AssertAndSuppressCleanupPolicy > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( AssertAndSuppressCleanupPolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AssertAndSuppressCleanupPolicy > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( AssertAndSuppressCleanupPolicy ) ) ) ; } impl Clone for AssertAndSuppressCleanupPolicy { fn clone ( & self ) -> Self { * self } } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct OwningNonNull < T > { pub mPtr : root :: RefPtr < T > , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } pub mod net { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; pub const ReferrerPolicy_RP_No_Referrer : root :: mozilla :: net :: ReferrerPolicy = 2 ; pub const ReferrerPolicy_RP_Origin : root :: mozilla :: net :: ReferrerPolicy = 3 ; pub const ReferrerPolicy_RP_No_Referrer_When_Downgrade : root :: mozilla :: net :: ReferrerPolicy = 1 ; pub const ReferrerPolicy_RP_Origin_When_Crossorigin : root :: mozilla :: net :: ReferrerPolicy = 4 ; pub const ReferrerPolicy_RP_Unsafe_URL : root :: mozilla :: net :: ReferrerPolicy = 5 ; pub const ReferrerPolicy_RP_Same_Origin : root :: mozilla :: net :: ReferrerPolicy = 6 ; pub const ReferrerPolicy_RP_Strict_Origin : root :: mozilla :: net :: ReferrerPolicy = 7 ; pub const ReferrerPolicy_RP_Strict_Origin_When_Cross_Origin : root :: mozilla :: net :: ReferrerPolicy = 8 ; pub const ReferrerPolicy_RP_Unset : root :: mozilla :: net :: ReferrerPolicy = 0 ; pub type ReferrerPolicy = :: std :: os :: raw :: c_uint ; } pub const CORSMode_CORS_NONE : root :: mozilla :: CORSMode = 0 ; pub const CORSMode_CORS_ANONYMOUS : root :: mozilla :: CORSMode = 1 ; pub const CORSMode_CORS_USE_CREDENTIALS : root :: mozilla :: CORSMode = 2 ; pub type CORSMode = u8 ; /// Superclass for data common to CSSStyleSheet and ServoStyleSheet. # [ repr ( C ) ] pub struct StyleSheet { pub _base : root :: nsIDOMCSSStyleSheet , pub _base_1 : root :: nsICSSLoaderObserver , pub _base_2 : root :: nsWrapperCache , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mParent : * mut root :: mozilla :: StyleSheet , pub mTitle : ::nsstring::nsStringRepr , pub mDocument : * mut root :: nsIDocument , pub mOwningNode : * mut root :: nsINode , pub mOwnerRule : * mut root :: mozilla :: dom :: CSSImportRule , pub mMedia : root :: RefPtr < root :: mozilla :: dom :: MediaList > , pub mNext : root :: RefPtr < root :: mozilla :: StyleSheet > , pub mParsingMode : root :: mozilla :: css :: SheetParsingMode , pub mType : root :: mozilla :: StyleBackendType , pub mDisabled : bool , pub mDirty : bool , pub mDocumentAssociationMode : root :: mozilla :: StyleSheet_DocumentAssociationMode , pub mInner : * mut root :: mozilla :: StyleSheetInfo , pub mStyleSets : root :: nsTArray < root :: mozilla :: StyleSetHandle > , } pub type StyleSheet_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct StyleSheet_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_StyleSheet_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleSheet_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( StyleSheet_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleSheet_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleSheet_cycleCollection ) ) ) ; } impl Clone for StyleSheet_cycleCollection { fn clone ( & self ) -> Self { * self } } pub const StyleSheet_ChangeType_Added : root :: mozilla :: StyleSheet_ChangeType = 0 ; pub const StyleSheet_ChangeType_Removed : root :: mozilla :: StyleSheet_ChangeType = 1 ; pub const StyleSheet_ChangeType_ApplicableStateChanged : root :: mozilla :: StyleSheet_ChangeType = 2 ; pub const StyleSheet_ChangeType_RuleAdded : root :: mozilla :: StyleSheet_ChangeType = 3 ; pub const StyleSheet_ChangeType_RuleRemoved : root :: mozilla :: StyleSheet_ChangeType = 4 ; pub const StyleSheet_ChangeType_RuleChanged : root :: mozilla :: StyleSheet_ChangeType = 5 ; pub type StyleSheet_ChangeType = :: std :: os :: raw :: c_int ; pub const StyleSheet_DocumentAssociationMode_OwnedByDocument : root :: mozilla :: StyleSheet_DocumentAssociationMode = 0 ; pub const StyleSheet_DocumentAssociationMode_NotOwnedByDocument : root :: mozilla :: StyleSheet_DocumentAssociationMode = 1 ; pub type StyleSheet_DocumentAssociationMode = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct StyleSheet_ChildSheetListBuilder { pub sheetSlot : * mut root :: RefPtr < root :: mozilla :: StyleSheet > , pub parent : * mut root :: mozilla :: StyleSheet , } # [ test ] fn bindgen_test_layout_StyleSheet_ChildSheetListBuilder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleSheet_ChildSheetListBuilder > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( StyleSheet_ChildSheetListBuilder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleSheet_ChildSheetListBuilder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleSheet_ChildSheetListBuilder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheet_ChildSheetListBuilder ) ) . sheetSlot as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheet_ChildSheetListBuilder ) , "::" , stringify ! ( sheetSlot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheet_ChildSheetListBuilder ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheet_ChildSheetListBuilder ) , "::" , stringify ! ( parent ) ) ) ; } impl Clone for StyleSheet_ChildSheetListBuilder { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla10StyleSheet21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN7mozilla10StyleSheet21_cycleCollectorGlobalE" ] pub static mut StyleSheet__cycleCollectorGlobal : root :: mozilla :: StyleSheet_cycleCollection ; } # [ test ] fn bindgen_test_layout_StyleSheet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleSheet > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( StyleSheet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleSheet > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleSheet ) ) ) ; } pub const CSSEnabledState_eForAllContent : root :: mozilla :: CSSEnabledState = 0 ; pub const CSSEnabledState_eInUASheets : root :: mozilla :: CSSEnabledState = 1 ; pub const CSSEnabledState_eInChrome : root :: mozilla :: CSSEnabledState = 2 ; pub const CSSEnabledState_eIgnoreEnabledState : root :: mozilla :: CSSEnabledState = 255 ; pub type CSSEnabledState = :: std :: os :: raw :: c_int ; pub type CSSPseudoElementTypeBase = u8 ; pub const CSSPseudoElementType_InheritingAnonBox : root :: mozilla :: CSSPseudoElementType = CSSPseudoElementType :: Count ; # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CSSPseudoElementType { after = 0 , before = 1 , backdrop = 2 , cue = 3 , firstLetter = 4 , firstLine = 5 , mozSelection = 6 , mozFocusInner = 7 , mozFocusOuter = 8 , mozListBullet = 9 , mozListNumber = 10 , mozMathAnonymous = 11 , mozNumberWrapper = 12 , mozNumberText = 13 , mozNumberSpinBox = 14 , mozNumberSpinUp = 15 , mozNumberSpinDown = 16 , mozProgressBar = 17 , mozRangeTrack = 18 , mozRangeProgress = 19 , mozRangeThumb = 20 , mozMeterBar = 21 , mozPlaceholder = 22 , placeholder = 23 , mozColorSwatch = 24 , Count = 25 , NonInheritingAnonBox = 26 , XULTree = 27 , NotPseudo = 28 , MAX = 29 , } /// Smart pointer class that can hold a pointer to either an nsStyleSet @@ -304,7 +307,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// for that functionality. We delegate to it from nsPresContext where /// appropriate, and use it standalone in some cases as well. # [ repr ( C ) ] pub struct StaticPresData { pub mLangService : * mut root :: nsLanguageAtomService , pub mBorderWidthTable : [ root :: nscoord ; 3usize ] , pub mStaticLangGroupFontPrefs : root :: mozilla :: LangGroupFontPrefs , } # [ test ] fn bindgen_test_layout_StaticPresData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StaticPresData > ( ) , 720usize , concat ! ( "Size of: " , stringify ! ( StaticPresData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StaticPresData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StaticPresData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StaticPresData ) ) . mLangService as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StaticPresData ) , "::" , stringify ! ( mLangService ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StaticPresData ) ) . mBorderWidthTable as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( StaticPresData ) , "::" , stringify ! ( mBorderWidthTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StaticPresData ) ) . mStaticLangGroupFontPrefs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( StaticPresData ) , "::" , stringify ! ( mStaticLangGroupFontPrefs ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct EventStateManager { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct RestyleManager { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct URLExtraData { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mBaseURI : root :: nsCOMPtr , pub mReferrer : root :: nsCOMPtr , pub mPrincipal : root :: nsCOMPtr , pub mIsChrome : bool , } pub type URLExtraData_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; extern "C" { - # [ link_name = "\u{1}_ZN7mozilla12URLExtraData6sDummyE" ] + # [ link_name = "\u{1}__ZN7mozilla12URLExtraData6sDummyE" ] pub static mut URLExtraData_sDummy : root :: mozilla :: StaticRefPtr < root :: mozilla :: URLExtraData > ; } # [ test ] fn bindgen_test_layout_URLExtraData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLExtraData > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( URLExtraData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLExtraData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLExtraData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLExtraData ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLExtraData ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLExtraData ) ) . mBaseURI as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( URLExtraData ) , "::" , stringify ! ( mBaseURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLExtraData ) ) . mReferrer as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( URLExtraData ) , "::" , stringify ! ( mReferrer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLExtraData ) ) . mPrincipal as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( URLExtraData ) , "::" , stringify ! ( mPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLExtraData ) ) . mIsChrome as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( URLExtraData ) , "::" , stringify ! ( mIsChrome ) ) ) ; } # [ test ] fn __bindgen_test_layout_StaticRefPtr_open0_URLExtraData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } pub mod image { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ImageURL { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Image { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ProgressTracker { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct IProgressObserver__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; /// An interface for observing changes to image state, as reported by @@ -327,7 +330,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct StyleAnimationValue { pub _bindgen_opaque_blob : [ u64 ; 2usize ] , } pub const StyleAnimationValue_Unit_eUnit_Null : root :: mozilla :: StyleAnimationValue_Unit = 0 ; pub const StyleAnimationValue_Unit_eUnit_Normal : root :: mozilla :: StyleAnimationValue_Unit = 1 ; pub const StyleAnimationValue_Unit_eUnit_Auto : root :: mozilla :: StyleAnimationValue_Unit = 2 ; pub const StyleAnimationValue_Unit_eUnit_None : root :: mozilla :: StyleAnimationValue_Unit = 3 ; pub const StyleAnimationValue_Unit_eUnit_Enumerated : root :: mozilla :: StyleAnimationValue_Unit = 4 ; pub const StyleAnimationValue_Unit_eUnit_Visibility : root :: mozilla :: StyleAnimationValue_Unit = 5 ; pub const StyleAnimationValue_Unit_eUnit_Integer : root :: mozilla :: StyleAnimationValue_Unit = 6 ; pub const StyleAnimationValue_Unit_eUnit_Coord : root :: mozilla :: StyleAnimationValue_Unit = 7 ; pub const StyleAnimationValue_Unit_eUnit_Percent : root :: mozilla :: StyleAnimationValue_Unit = 8 ; pub const StyleAnimationValue_Unit_eUnit_Float : root :: mozilla :: StyleAnimationValue_Unit = 9 ; pub const StyleAnimationValue_Unit_eUnit_Color : root :: mozilla :: StyleAnimationValue_Unit = 10 ; pub const StyleAnimationValue_Unit_eUnit_CurrentColor : root :: mozilla :: StyleAnimationValue_Unit = 11 ; pub const StyleAnimationValue_Unit_eUnit_ComplexColor : root :: mozilla :: StyleAnimationValue_Unit = 12 ; pub const StyleAnimationValue_Unit_eUnit_Calc : root :: mozilla :: StyleAnimationValue_Unit = 13 ; pub const StyleAnimationValue_Unit_eUnit_ObjectPosition : root :: mozilla :: StyleAnimationValue_Unit = 14 ; pub const StyleAnimationValue_Unit_eUnit_URL : root :: mozilla :: StyleAnimationValue_Unit = 15 ; pub const StyleAnimationValue_Unit_eUnit_DiscreteCSSValue : root :: mozilla :: StyleAnimationValue_Unit = 16 ; pub const StyleAnimationValue_Unit_eUnit_CSSValuePair : root :: mozilla :: StyleAnimationValue_Unit = 17 ; pub const StyleAnimationValue_Unit_eUnit_CSSValueTriplet : root :: mozilla :: StyleAnimationValue_Unit = 18 ; pub const StyleAnimationValue_Unit_eUnit_CSSRect : root :: mozilla :: StyleAnimationValue_Unit = 19 ; pub const StyleAnimationValue_Unit_eUnit_Dasharray : root :: mozilla :: StyleAnimationValue_Unit = 20 ; pub const StyleAnimationValue_Unit_eUnit_Shadow : root :: mozilla :: StyleAnimationValue_Unit = 21 ; pub const StyleAnimationValue_Unit_eUnit_Shape : root :: mozilla :: StyleAnimationValue_Unit = 22 ; pub const StyleAnimationValue_Unit_eUnit_Filter : root :: mozilla :: StyleAnimationValue_Unit = 23 ; pub const StyleAnimationValue_Unit_eUnit_Transform : root :: mozilla :: StyleAnimationValue_Unit = 24 ; pub const StyleAnimationValue_Unit_eUnit_BackgroundPositionCoord : root :: mozilla :: StyleAnimationValue_Unit = 25 ; pub const StyleAnimationValue_Unit_eUnit_CSSValuePairList : root :: mozilla :: StyleAnimationValue_Unit = 26 ; pub const StyleAnimationValue_Unit_eUnit_UnparsedString : root :: mozilla :: StyleAnimationValue_Unit = 27 ; pub type StyleAnimationValue_Unit = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct StyleAnimationValue__bindgen_ty_1 { pub mInt : root :: __BindgenUnionField < i32 > , pub mCoord : root :: __BindgenUnionField < root :: nscoord > , pub mFloat : root :: __BindgenUnionField < f32 > , pub mCSSValue : root :: __BindgenUnionField < * mut root :: nsCSSValue > , pub mCSSValuePair : root :: __BindgenUnionField < * mut root :: nsCSSValuePair > , pub mCSSValueTriplet : root :: __BindgenUnionField < * mut root :: nsCSSValueTriplet > , pub mCSSRect : root :: __BindgenUnionField < * mut root :: nsCSSRect > , pub mCSSValueArray : root :: __BindgenUnionField < * mut root :: nsCSSValue_Array > , pub mCSSValueList : root :: __BindgenUnionField < * mut root :: nsCSSValueList > , pub mCSSValueSharedList : root :: __BindgenUnionField < * mut root :: nsCSSValueSharedList > , pub mCSSValuePairList : root :: __BindgenUnionField < * mut root :: nsCSSValuePairList > , pub mString : root :: __BindgenUnionField < * mut root :: nsStringBuffer > , pub mComplexColor : root :: __BindgenUnionField < * mut root :: mozilla :: css :: ComplexColorValue > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_StyleAnimationValue__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleAnimationValue__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleAnimationValue__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mInt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mInt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCoord as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCoord ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mFloat as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValuePair as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValuePair ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValueTriplet as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValueTriplet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSRect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSRect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValueArray as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValueArray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValueList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValueList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValueSharedList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValueSharedList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValuePairList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValuePairList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mComplexColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mComplexColor ) ) ) ; } impl Clone for StyleAnimationValue__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } pub const StyleAnimationValue_IntegerConstructorType_IntegerConstructor : root :: mozilla :: StyleAnimationValue_IntegerConstructorType = 0 ; pub type StyleAnimationValue_IntegerConstructorType = :: std :: os :: raw :: c_uint ; pub const StyleAnimationValue_CoordConstructorType_CoordConstructor : root :: mozilla :: StyleAnimationValue_CoordConstructorType = 0 ; pub type StyleAnimationValue_CoordConstructorType = :: std :: os :: raw :: c_uint ; pub const StyleAnimationValue_PercentConstructorType_PercentConstructor : root :: mozilla :: StyleAnimationValue_PercentConstructorType = 0 ; pub type StyleAnimationValue_PercentConstructorType = :: std :: os :: raw :: c_uint ; pub const StyleAnimationValue_FloatConstructorType_FloatConstructor : root :: mozilla :: StyleAnimationValue_FloatConstructorType = 0 ; pub type StyleAnimationValue_FloatConstructorType = :: std :: os :: raw :: c_uint ; pub const StyleAnimationValue_ColorConstructorType_ColorConstructor : root :: mozilla :: StyleAnimationValue_ColorConstructorType = 0 ; pub type StyleAnimationValue_ColorConstructorType = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_StyleAnimationValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleAnimationValue > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( StyleAnimationValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleAnimationValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleAnimationValue ) ) ) ; } impl Clone for StyleAnimationValue { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct AnimationValue { pub mGecko : root :: mozilla :: StyleAnimationValue , pub mServo : root :: RefPtr < root :: RawServoAnimationValue > , } # [ test ] fn bindgen_test_layout_AnimationValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AnimationValue > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( AnimationValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AnimationValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( AnimationValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationValue ) ) . mGecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationValue ) , "::" , stringify ! ( mGecko ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationValue ) ) . mServo as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationValue ) , "::" , stringify ! ( mServo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct PropertyStyleAnimationValuePair { pub mProperty : root :: nsCSSPropertyID , pub mValue : root :: mozilla :: AnimationValue , } # [ test ] fn bindgen_test_layout_PropertyStyleAnimationValuePair ( ) { assert_eq ! ( :: std :: mem :: size_of :: < PropertyStyleAnimationValuePair > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( PropertyStyleAnimationValuePair ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < PropertyStyleAnimationValuePair > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( PropertyStyleAnimationValuePair ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const PropertyStyleAnimationValuePair ) ) . mProperty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( PropertyStyleAnimationValuePair ) , "::" , stringify ! ( mProperty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const PropertyStyleAnimationValuePair ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( PropertyStyleAnimationValuePair ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( C ) ] pub struct StyleSheetInfo__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; /// Struct for data common to CSSStyleSheetInner and ServoStyleSheet. # [ repr ( C ) ] pub struct StyleSheetInfo { pub vtable_ : * const StyleSheetInfo__bindgen_vtable , pub mSheetURI : root :: nsCOMPtr , pub mOriginalSheetURI : root :: nsCOMPtr , pub mBaseURI : root :: nsCOMPtr , pub mPrincipal : root :: nsCOMPtr , pub mCORSMode : root :: mozilla :: CORSMode , pub mReferrerPolicy : root :: mozilla :: StyleSheetInfo_ReferrerPolicy , pub mIntegrity : root :: mozilla :: dom :: SRIMetadata , pub mComplete : bool , pub mFirstChild : root :: RefPtr < root :: mozilla :: StyleSheet > , pub mSheets : [ u64 ; 10usize ] , pub mSourceMapURL : ::nsstring::nsStringRepr , pub mSourceMapURLFromComment : ::nsstring::nsStringRepr , pub mSourceURL : ::nsstring::nsStringRepr , } pub use self :: super :: super :: root :: mozilla :: net :: ReferrerPolicy as StyleSheetInfo_ReferrerPolicy ; # [ test ] fn bindgen_test_layout_StyleSheetInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleSheetInfo > ( ) , 240usize , concat ! ( "Size of: " , stringify ! ( StyleSheetInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleSheetInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleSheetInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mSheetURI as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mSheetURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mOriginalSheetURI as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mOriginalSheetURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mBaseURI as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mBaseURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mPrincipal as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mCORSMode as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mCORSMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mReferrerPolicy as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mReferrerPolicy ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mIntegrity as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mIntegrity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mComplete as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mComplete ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mFirstChild as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mFirstChild ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mSheets as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mSourceMapURL as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mSourceMapURL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mSourceMapURLFromComment as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mSourceMapURLFromComment ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mSourceURL as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mSourceURL ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ServoCSSRuleList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct ServoStyleSheetInner { pub _base : root :: mozilla :: StyleSheetInfo , pub mContents : root :: RefPtr < root :: RawServoStyleSheetContents > , pub mURLData : root :: RefPtr < root :: mozilla :: URLExtraData > , } # [ test ] fn bindgen_test_layout_ServoStyleSheetInner ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoStyleSheetInner > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( ServoStyleSheetInner ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoStyleSheetInner > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoStyleSheetInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSheetInner ) ) . mContents as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSheetInner ) , "::" , stringify ! ( mContents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSheetInner ) ) . mURLData as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSheetInner ) , "::" , stringify ! ( mURLData ) ) ) ; } # [ repr ( C ) ] pub struct ServoStyleSheet { pub _base : root :: mozilla :: StyleSheet , pub mRuleList : root :: RefPtr < root :: mozilla :: ServoCSSRuleList > , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ServoStyleSheet_cycleCollection { pub _base : root :: mozilla :: StyleSheet_cycleCollection , } # [ test ] fn bindgen_test_layout_ServoStyleSheet_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoStyleSheet_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ServoStyleSheet_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoStyleSheet_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoStyleSheet_cycleCollection ) ) ) ; } impl Clone for ServoStyleSheet_cycleCollection { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ServoStyleSheet_COMTypeInfo { pub _address : u8 , } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla15ServoStyleSheet21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN7mozilla15ServoStyleSheet21_cycleCollectorGlobalE" ] pub static mut ServoStyleSheet__cycleCollectorGlobal : root :: mozilla :: ServoStyleSheet_cycleCollection ; } # [ test ] fn bindgen_test_layout_ServoStyleSheet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoStyleSheet > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( ServoStyleSheet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoStyleSheet > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoStyleSheet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSheet ) ) . mRuleList as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSheet ) , "::" , stringify ! ( mRuleList ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct URIPrincipalReferrerPolicyAndCORSModeHashKey { pub _base : root :: nsURIHashKey , pub mPrincipal : root :: nsCOMPtr , pub mCORSMode : root :: mozilla :: CORSMode , pub mReferrerPolicy : root :: mozilla :: URIPrincipalReferrerPolicyAndCORSModeHashKey_ReferrerPolicy , } pub type URIPrincipalReferrerPolicyAndCORSModeHashKey_KeyType = * mut root :: mozilla :: URIPrincipalReferrerPolicyAndCORSModeHashKey ; pub type URIPrincipalReferrerPolicyAndCORSModeHashKey_KeyTypePointer = * const root :: mozilla :: URIPrincipalReferrerPolicyAndCORSModeHashKey ; pub use self :: super :: super :: root :: mozilla :: net :: ReferrerPolicy as URIPrincipalReferrerPolicyAndCORSModeHashKey_ReferrerPolicy ; pub const URIPrincipalReferrerPolicyAndCORSModeHashKey_ALLOW_MEMMOVE : root :: mozilla :: URIPrincipalReferrerPolicyAndCORSModeHashKey__bindgen_ty_1 = 1 ; pub type URIPrincipalReferrerPolicyAndCORSModeHashKey__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_URIPrincipalReferrerPolicyAndCORSModeHashKey ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URIPrincipalReferrerPolicyAndCORSModeHashKey > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( URIPrincipalReferrerPolicyAndCORSModeHashKey ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URIPrincipalReferrerPolicyAndCORSModeHashKey > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URIPrincipalReferrerPolicyAndCORSModeHashKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URIPrincipalReferrerPolicyAndCORSModeHashKey ) ) . mPrincipal as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( URIPrincipalReferrerPolicyAndCORSModeHashKey ) , "::" , stringify ! ( mPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URIPrincipalReferrerPolicyAndCORSModeHashKey ) ) . mCORSMode as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( URIPrincipalReferrerPolicyAndCORSModeHashKey ) , "::" , stringify ! ( mCORSMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URIPrincipalReferrerPolicyAndCORSModeHashKey ) ) . mReferrerPolicy as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( URIPrincipalReferrerPolicyAndCORSModeHashKey ) , "::" , stringify ! ( mReferrerPolicy ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ComputedTimingFunction { pub mType : root :: nsTimingFunction_Type , pub mTimingFunction : root :: nsSMILKeySpline , pub mStepsOrFrames : u32 , } pub const ComputedTimingFunction_BeforeFlag_Unset : root :: mozilla :: ComputedTimingFunction_BeforeFlag = 0 ; pub const ComputedTimingFunction_BeforeFlag_Set : root :: mozilla :: ComputedTimingFunction_BeforeFlag = 1 ; pub type ComputedTimingFunction_BeforeFlag = :: std :: os :: raw :: c_int ; # [ test ] fn bindgen_test_layout_ComputedTimingFunction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ComputedTimingFunction > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( ComputedTimingFunction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ComputedTimingFunction > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ComputedTimingFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComputedTimingFunction ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ComputedTimingFunction ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComputedTimingFunction ) ) . mTimingFunction as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ComputedTimingFunction ) , "::" , stringify ! ( mTimingFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComputedTimingFunction ) ) . mStepsOrFrames as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( ComputedTimingFunction ) , "::" , stringify ! ( mStepsOrFrames ) ) ) ; } impl Clone for ComputedTimingFunction { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct AnimationPropertySegment { pub mFromKey : f32 , pub mToKey : f32 , pub mFromValue : root :: mozilla :: AnimationValue , pub mToValue : root :: mozilla :: AnimationValue , pub mTimingFunction : [ u64 ; 18usize ] , pub mFromComposite : root :: mozilla :: dom :: CompositeOperation , pub mToComposite : root :: mozilla :: dom :: CompositeOperation , } # [ test ] fn bindgen_test_layout_AnimationPropertySegment ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AnimationPropertySegment > ( ) , 208usize , concat ! ( "Size of: " , stringify ! ( AnimationPropertySegment ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AnimationPropertySegment > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( AnimationPropertySegment ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mFromKey as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mFromKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mToKey as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mToKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mFromValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mFromValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mToValue as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mToValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mTimingFunction as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mTimingFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mFromComposite as * const _ as usize } , 200usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mFromComposite ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mToComposite as * const _ as usize } , 201usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mToComposite ) ) ) ; } /// A ValueCalculator class that performs additional checks before performing @@ -384,34 +387,34 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// This means the attributes, and the element state, such as :hover, :active, /// etc... # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ServoElementSnapshot { pub mAttrs : root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > , pub mClass : root :: nsAttrValue , pub mState : root :: mozilla :: ServoElementSnapshot_ServoStateType , pub mContains : root :: mozilla :: ServoElementSnapshot_Flags , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u16 ; 3usize ] , } pub type ServoElementSnapshot_BorrowedAttrInfo = root :: mozilla :: dom :: BorrowedAttrInfo ; pub type ServoElementSnapshot_Element = root :: mozilla :: dom :: Element ; pub type ServoElementSnapshot_ServoStateType = root :: mozilla :: EventStates_ServoType ; pub use self :: super :: super :: root :: mozilla :: ServoElementSnapshotFlags as ServoElementSnapshot_Flags ; # [ test ] fn bindgen_test_layout_ServoElementSnapshot ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoElementSnapshot > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ServoElementSnapshot ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoElementSnapshot > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoElementSnapshot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoElementSnapshot ) ) . mAttrs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ServoElementSnapshot ) , "::" , stringify ! ( mAttrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoElementSnapshot ) ) . mClass as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ServoElementSnapshot ) , "::" , stringify ! ( mClass ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoElementSnapshot ) ) . mState as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoElementSnapshot ) , "::" , stringify ! ( mState ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoElementSnapshot ) ) . mContains as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ServoElementSnapshot ) , "::" , stringify ! ( mContains ) ) ) ; } impl ServoElementSnapshot { # [ inline ] pub fn mIsHTMLElementInHTMLDocument ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsHTMLElementInHTMLDocument ( & mut self , val : bool ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsInChromeDocument ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsInChromeDocument ( & mut self , val : bool ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mSupportsLangAttr ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mSupportsLangAttr ( & mut self , val : bool ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsTableBorderNonzero ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsTableBorderNonzero ( & mut self , val : bool ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsMozBrowserFrame ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsMozBrowserFrame ( & mut self , val : bool ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mClassAttributeChanged ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mClassAttributeChanged ( & mut self , val : bool ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIdAttributeChanged ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x40 as u8 ; let val = ( unit_field_val & mask ) >> 6usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIdAttributeChanged ( & mut self , val : bool ) { let mask = 0x40 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 6usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mOtherAttributeChanged ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x80 as u8 ; let val = ( unit_field_val & mask ) >> 7usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mOtherAttributeChanged ( & mut self , val : bool ) { let mask = 0x80 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 7usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mIsHTMLElementInHTMLDocument : bool , mIsInChromeDocument : bool , mSupportsLangAttr : bool , mIsTableBorderNonzero : bool , mIsMozBrowserFrame : bool , mClassAttributeChanged : bool , mIdAttributeChanged : bool , mOtherAttributeChanged : bool ) -> u8 { ( ( ( ( ( ( ( ( 0 | ( ( mIsHTMLElementInHTMLDocument as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mIsInChromeDocument as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( mSupportsLangAttr as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( mIsTableBorderNonzero as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( mIsMozBrowserFrame as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( mClassAttributeChanged as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) | ( ( mIdAttributeChanged as u8 as u8 ) << 6usize ) & ( 0x40 as u8 ) ) | ( ( mOtherAttributeChanged as u8 as u8 ) << 7usize ) & ( 0x80 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ServoElementSnapshotTable { pub _base : [ u64 ; 4usize ] , } # [ test ] fn bindgen_test_layout_ServoElementSnapshotTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoElementSnapshotTable > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ServoElementSnapshotTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoElementSnapshotTable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoElementSnapshotTable ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct LookAndFeel { pub _address : u8 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum LookAndFeel_ColorID { eColorID_WindowBackground = 0 , eColorID_WindowForeground = 1 , eColorID_WidgetBackground = 2 , eColorID_WidgetForeground = 3 , eColorID_WidgetSelectBackground = 4 , eColorID_WidgetSelectForeground = 5 , eColorID_Widget3DHighlight = 6 , eColorID_Widget3DShadow = 7 , eColorID_TextBackground = 8 , eColorID_TextForeground = 9 , eColorID_TextSelectBackground = 10 , eColorID_TextSelectForeground = 11 , eColorID_TextSelectForegroundCustom = 12 , eColorID_TextSelectBackgroundDisabled = 13 , eColorID_TextSelectBackgroundAttention = 14 , eColorID_TextHighlightBackground = 15 , eColorID_TextHighlightForeground = 16 , eColorID_IMERawInputBackground = 17 , eColorID_IMERawInputForeground = 18 , eColorID_IMERawInputUnderline = 19 , eColorID_IMESelectedRawTextBackground = 20 , eColorID_IMESelectedRawTextForeground = 21 , eColorID_IMESelectedRawTextUnderline = 22 , eColorID_IMEConvertedTextBackground = 23 , eColorID_IMEConvertedTextForeground = 24 , eColorID_IMEConvertedTextUnderline = 25 , eColorID_IMESelectedConvertedTextBackground = 26 , eColorID_IMESelectedConvertedTextForeground = 27 , eColorID_IMESelectedConvertedTextUnderline = 28 , eColorID_SpellCheckerUnderline = 29 , eColorID_activeborder = 30 , eColorID_activecaption = 31 , eColorID_appworkspace = 32 , eColorID_background = 33 , eColorID_buttonface = 34 , eColorID_buttonhighlight = 35 , eColorID_buttonshadow = 36 , eColorID_buttontext = 37 , eColorID_captiontext = 38 , eColorID_graytext = 39 , eColorID_highlight = 40 , eColorID_highlighttext = 41 , eColorID_inactiveborder = 42 , eColorID_inactivecaption = 43 , eColorID_inactivecaptiontext = 44 , eColorID_infobackground = 45 , eColorID_infotext = 46 , eColorID_menu = 47 , eColorID_menutext = 48 , eColorID_scrollbar = 49 , eColorID_threeddarkshadow = 50 , eColorID_threedface = 51 , eColorID_threedhighlight = 52 , eColorID_threedlightshadow = 53 , eColorID_threedshadow = 54 , eColorID_window = 55 , eColorID_windowframe = 56 , eColorID_windowtext = 57 , eColorID__moz_buttondefault = 58 , eColorID__moz_field = 59 , eColorID__moz_fieldtext = 60 , eColorID__moz_dialog = 61 , eColorID__moz_dialogtext = 62 , eColorID__moz_dragtargetzone = 63 , eColorID__moz_cellhighlight = 64 , eColorID__moz_cellhighlighttext = 65 , eColorID__moz_html_cellhighlight = 66 , eColorID__moz_html_cellhighlighttext = 67 , eColorID__moz_buttonhoverface = 68 , eColorID__moz_buttonhovertext = 69 , eColorID__moz_menuhover = 70 , eColorID__moz_menuhovertext = 71 , eColorID__moz_menubartext = 72 , eColorID__moz_menubarhovertext = 73 , eColorID__moz_eventreerow = 74 , eColorID__moz_oddtreerow = 75 , eColorID__moz_mac_buttonactivetext = 76 , eColorID__moz_mac_chrome_active = 77 , eColorID__moz_mac_chrome_inactive = 78 , eColorID__moz_mac_defaultbuttontext = 79 , eColorID__moz_mac_focusring = 80 , eColorID__moz_mac_menuselect = 81 , eColorID__moz_mac_menushadow = 82 , eColorID__moz_mac_menutextdisable = 83 , eColorID__moz_mac_menutextselect = 84 , eColorID__moz_mac_disabledtoolbartext = 85 , eColorID__moz_mac_secondaryhighlight = 86 , eColorID__moz_mac_vibrancy_light = 87 , eColorID__moz_mac_vibrancy_dark = 88 , eColorID__moz_mac_vibrant_titlebar_light = 89 , eColorID__moz_mac_vibrant_titlebar_dark = 90 , eColorID__moz_mac_menupopup = 91 , eColorID__moz_mac_menuitem = 92 , eColorID__moz_mac_active_menuitem = 93 , eColorID__moz_mac_source_list = 94 , eColorID__moz_mac_source_list_selection = 95 , eColorID__moz_mac_active_source_list_selection = 96 , eColorID__moz_mac_tooltip = 97 , eColorID__moz_win_accentcolor = 98 , eColorID__moz_win_accentcolortext = 99 , eColorID__moz_win_mediatext = 100 , eColorID__moz_win_communicationstext = 101 , eColorID__moz_nativehyperlinktext = 102 , eColorID__moz_comboboxtext = 103 , eColorID__moz_combobox = 104 , eColorID__moz_gtk_info_bar_text = 105 , eColorID_LAST_COLOR = 106 , } pub const LookAndFeel_IntID_eIntID_CaretBlinkTime : root :: mozilla :: LookAndFeel_IntID = 0 ; pub const LookAndFeel_IntID_eIntID_CaretWidth : root :: mozilla :: LookAndFeel_IntID = 1 ; pub const LookAndFeel_IntID_eIntID_ShowCaretDuringSelection : root :: mozilla :: LookAndFeel_IntID = 2 ; pub const LookAndFeel_IntID_eIntID_SelectTextfieldsOnKeyFocus : root :: mozilla :: LookAndFeel_IntID = 3 ; pub const LookAndFeel_IntID_eIntID_SubmenuDelay : root :: mozilla :: LookAndFeel_IntID = 4 ; pub const LookAndFeel_IntID_eIntID_MenusCanOverlapOSBar : root :: mozilla :: LookAndFeel_IntID = 5 ; pub const LookAndFeel_IntID_eIntID_UseOverlayScrollbars : root :: mozilla :: LookAndFeel_IntID = 6 ; pub const LookAndFeel_IntID_eIntID_AllowOverlayScrollbarsOverlap : root :: mozilla :: LookAndFeel_IntID = 7 ; pub const LookAndFeel_IntID_eIntID_ShowHideScrollbars : root :: mozilla :: LookAndFeel_IntID = 8 ; pub const LookAndFeel_IntID_eIntID_SkipNavigatingDisabledMenuItem : root :: mozilla :: LookAndFeel_IntID = 9 ; pub const LookAndFeel_IntID_eIntID_DragThresholdX : root :: mozilla :: LookAndFeel_IntID = 10 ; pub const LookAndFeel_IntID_eIntID_DragThresholdY : root :: mozilla :: LookAndFeel_IntID = 11 ; pub const LookAndFeel_IntID_eIntID_UseAccessibilityTheme : root :: mozilla :: LookAndFeel_IntID = 12 ; pub const LookAndFeel_IntID_eIntID_ScrollArrowStyle : root :: mozilla :: LookAndFeel_IntID = 13 ; pub const LookAndFeel_IntID_eIntID_ScrollSliderStyle : root :: mozilla :: LookAndFeel_IntID = 14 ; pub const LookAndFeel_IntID_eIntID_ScrollButtonLeftMouseButtonAction : root :: mozilla :: LookAndFeel_IntID = 15 ; pub const LookAndFeel_IntID_eIntID_ScrollButtonMiddleMouseButtonAction : root :: mozilla :: LookAndFeel_IntID = 16 ; pub const LookAndFeel_IntID_eIntID_ScrollButtonRightMouseButtonAction : root :: mozilla :: LookAndFeel_IntID = 17 ; pub const LookAndFeel_IntID_eIntID_TreeOpenDelay : root :: mozilla :: LookAndFeel_IntID = 18 ; pub const LookAndFeel_IntID_eIntID_TreeCloseDelay : root :: mozilla :: LookAndFeel_IntID = 19 ; pub const LookAndFeel_IntID_eIntID_TreeLazyScrollDelay : root :: mozilla :: LookAndFeel_IntID = 20 ; pub const LookAndFeel_IntID_eIntID_TreeScrollDelay : root :: mozilla :: LookAndFeel_IntID = 21 ; pub const LookAndFeel_IntID_eIntID_TreeScrollLinesMax : root :: mozilla :: LookAndFeel_IntID = 22 ; pub const LookAndFeel_IntID_eIntID_TabFocusModel : root :: mozilla :: LookAndFeel_IntID = 23 ; pub const LookAndFeel_IntID_eIntID_ChosenMenuItemsShouldBlink : root :: mozilla :: LookAndFeel_IntID = 24 ; pub const LookAndFeel_IntID_eIntID_WindowsAccentColorInTitlebar : root :: mozilla :: LookAndFeel_IntID = 25 ; pub const LookAndFeel_IntID_eIntID_WindowsDefaultTheme : root :: mozilla :: LookAndFeel_IntID = 26 ; pub const LookAndFeel_IntID_eIntID_DWMCompositor : root :: mozilla :: LookAndFeel_IntID = 27 ; pub const LookAndFeel_IntID_eIntID_WindowsClassic : root :: mozilla :: LookAndFeel_IntID = 28 ; pub const LookAndFeel_IntID_eIntID_WindowsGlass : root :: mozilla :: LookAndFeel_IntID = 29 ; pub const LookAndFeel_IntID_eIntID_TouchEnabled : root :: mozilla :: LookAndFeel_IntID = 30 ; pub const LookAndFeel_IntID_eIntID_MacGraphiteTheme : root :: mozilla :: LookAndFeel_IntID = 31 ; pub const LookAndFeel_IntID_eIntID_MacYosemiteTheme : root :: mozilla :: LookAndFeel_IntID = 32 ; pub const LookAndFeel_IntID_eIntID_AlertNotificationOrigin : root :: mozilla :: LookAndFeel_IntID = 33 ; pub const LookAndFeel_IntID_eIntID_ScrollToClick : root :: mozilla :: LookAndFeel_IntID = 34 ; pub const LookAndFeel_IntID_eIntID_IMERawInputUnderlineStyle : root :: mozilla :: LookAndFeel_IntID = 35 ; pub const LookAndFeel_IntID_eIntID_IMESelectedRawTextUnderlineStyle : root :: mozilla :: LookAndFeel_IntID = 36 ; pub const LookAndFeel_IntID_eIntID_IMEConvertedTextUnderlineStyle : root :: mozilla :: LookAndFeel_IntID = 37 ; pub const LookAndFeel_IntID_eIntID_IMESelectedConvertedTextUnderline : root :: mozilla :: LookAndFeel_IntID = 38 ; pub const LookAndFeel_IntID_eIntID_SpellCheckerUnderlineStyle : root :: mozilla :: LookAndFeel_IntID = 39 ; pub const LookAndFeel_IntID_eIntID_MenuBarDrag : root :: mozilla :: LookAndFeel_IntID = 40 ; pub const LookAndFeel_IntID_eIntID_WindowsThemeIdentifier : root :: mozilla :: LookAndFeel_IntID = 41 ; pub const LookAndFeel_IntID_eIntID_OperatingSystemVersionIdentifier : root :: mozilla :: LookAndFeel_IntID = 42 ; pub const LookAndFeel_IntID_eIntID_ScrollbarButtonAutoRepeatBehavior : root :: mozilla :: LookAndFeel_IntID = 43 ; pub const LookAndFeel_IntID_eIntID_TooltipDelay : root :: mozilla :: LookAndFeel_IntID = 44 ; pub const LookAndFeel_IntID_eIntID_SwipeAnimationEnabled : root :: mozilla :: LookAndFeel_IntID = 45 ; pub const LookAndFeel_IntID_eIntID_ScrollbarDisplayOnMouseMove : root :: mozilla :: LookAndFeel_IntID = 46 ; pub const LookAndFeel_IntID_eIntID_ScrollbarFadeBeginDelay : root :: mozilla :: LookAndFeel_IntID = 47 ; pub const LookAndFeel_IntID_eIntID_ScrollbarFadeDuration : root :: mozilla :: LookAndFeel_IntID = 48 ; pub const LookAndFeel_IntID_eIntID_ContextMenuOffsetVertical : root :: mozilla :: LookAndFeel_IntID = 49 ; pub const LookAndFeel_IntID_eIntID_ContextMenuOffsetHorizontal : root :: mozilla :: LookAndFeel_IntID = 50 ; pub const LookAndFeel_IntID_eIntID_GTKCSDAvailable : root :: mozilla :: LookAndFeel_IntID = 51 ; pub const LookAndFeel_IntID_eIntID_GTKCSDMinimizeButton : root :: mozilla :: LookAndFeel_IntID = 52 ; pub const LookAndFeel_IntID_eIntID_GTKCSDMaximizeButton : root :: mozilla :: LookAndFeel_IntID = 53 ; pub const LookAndFeel_IntID_eIntID_GTKCSDCloseButton : root :: mozilla :: LookAndFeel_IntID = 54 ; pub type LookAndFeel_IntID = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_Generic : root :: mozilla :: LookAndFeel_WindowsTheme = 0 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_Classic : root :: mozilla :: LookAndFeel_WindowsTheme = 1 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_Aero : root :: mozilla :: LookAndFeel_WindowsTheme = 2 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_LunaBlue : root :: mozilla :: LookAndFeel_WindowsTheme = 3 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_LunaOlive : root :: mozilla :: LookAndFeel_WindowsTheme = 4 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_LunaSilver : root :: mozilla :: LookAndFeel_WindowsTheme = 5 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_Royale : root :: mozilla :: LookAndFeel_WindowsTheme = 6 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_Zune : root :: mozilla :: LookAndFeel_WindowsTheme = 7 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_AeroLite : root :: mozilla :: LookAndFeel_WindowsTheme = 8 ; pub type LookAndFeel_WindowsTheme = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Windows7 : root :: mozilla :: LookAndFeel_OperatingSystemVersion = 2 ; pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Windows8 : root :: mozilla :: LookAndFeel_OperatingSystemVersion = 3 ; pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Windows10 : root :: mozilla :: LookAndFeel_OperatingSystemVersion = 4 ; pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Unknown : root :: mozilla :: LookAndFeel_OperatingSystemVersion = 5 ; pub type LookAndFeel_OperatingSystemVersion = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_eScrollArrow_None : root :: mozilla :: LookAndFeel__bindgen_ty_1 = 0 ; pub const LookAndFeel_eScrollArrow_StartBackward : root :: mozilla :: LookAndFeel__bindgen_ty_1 = 4096 ; pub const LookAndFeel_eScrollArrow_StartForward : root :: mozilla :: LookAndFeel__bindgen_ty_1 = 256 ; pub const LookAndFeel_eScrollArrow_EndBackward : root :: mozilla :: LookAndFeel__bindgen_ty_1 = 16 ; pub const LookAndFeel_eScrollArrow_EndForward : root :: mozilla :: LookAndFeel__bindgen_ty_1 = 1 ; pub type LookAndFeel__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_eScrollArrowStyle_Single : root :: mozilla :: LookAndFeel__bindgen_ty_2 = 4097 ; pub const LookAndFeel_eScrollArrowStyle_BothAtBottom : root :: mozilla :: LookAndFeel__bindgen_ty_2 = 17 ; pub const LookAndFeel_eScrollArrowStyle_BothAtEachEnd : root :: mozilla :: LookAndFeel__bindgen_ty_2 = 4369 ; pub const LookAndFeel_eScrollArrowStyle_BothAtTop : root :: mozilla :: LookAndFeel__bindgen_ty_2 = 4352 ; pub type LookAndFeel__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_eScrollThumbStyle_Normal : root :: mozilla :: LookAndFeel__bindgen_ty_3 = 0 ; pub const LookAndFeel_eScrollThumbStyle_Proportional : root :: mozilla :: LookAndFeel__bindgen_ty_3 = 1 ; pub type LookAndFeel__bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_FloatID_eFloatID_IMEUnderlineRelativeSize : root :: mozilla :: LookAndFeel_FloatID = 0 ; pub const LookAndFeel_FloatID_eFloatID_SpellCheckerUnderlineRelativeSize : root :: mozilla :: LookAndFeel_FloatID = 1 ; pub const LookAndFeel_FloatID_eFloatID_CaretAspectRatio : root :: mozilla :: LookAndFeel_FloatID = 2 ; pub type LookAndFeel_FloatID = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_FontID_FontID_MINIMUM : root :: mozilla :: LookAndFeel_FontID = LookAndFeel_FontID :: eFont_Caption ; pub const LookAndFeel_FontID_FontID_MAXIMUM : root :: mozilla :: LookAndFeel_FontID = LookAndFeel_FontID :: eFont_Widget ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum LookAndFeel_FontID { eFont_Caption = 1 , eFont_Icon = 2 , eFont_Menu = 3 , eFont_MessageBox = 4 , eFont_SmallCaption = 5 , eFont_StatusBar = 6 , eFont_Window = 7 , eFont_Document = 8 , eFont_Workspace = 9 , eFont_Desktop = 10 , eFont_Info = 11 , eFont_Dialog = 12 , eFont_Button = 13 , eFont_PullDownMenu = 14 , eFont_List = 15 , eFont_Field = 16 , eFont_Tooltips = 17 , eFont_Widget = 18 , } # [ test ] fn bindgen_test_layout_LookAndFeel ( ) { assert_eq ! ( :: std :: mem :: size_of :: < LookAndFeel > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( LookAndFeel ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < LookAndFeel > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( LookAndFeel ) ) ) ; } impl Clone for LookAndFeel { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct StylePrefs { pub _address : u8 , } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla10StylePrefs19sFontDisplayEnabledE" ] + # [ link_name = "\u{1}__ZN7mozilla10StylePrefs19sFontDisplayEnabledE" ] pub static mut StylePrefs_sFontDisplayEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla10StylePrefs19sOpentypeSVGEnabledE" ] + # [ link_name = "\u{1}__ZN7mozilla10StylePrefs19sOpentypeSVGEnabledE" ] pub static mut StylePrefs_sOpentypeSVGEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla10StylePrefs29sWebkitPrefixedAliasesEnabledE" ] + # [ link_name = "\u{1}__ZN7mozilla10StylePrefs29sWebkitPrefixedAliasesEnabledE" ] pub static mut StylePrefs_sWebkitPrefixedAliasesEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla10StylePrefs30sWebkitDevicePixelRatioEnabledE" ] + # [ link_name = "\u{1}__ZN7mozilla10StylePrefs30sWebkitDevicePixelRatioEnabledE" ] pub static mut StylePrefs_sWebkitDevicePixelRatioEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla10StylePrefs20sMozGradientsEnabledE" ] + # [ link_name = "\u{1}__ZN7mozilla10StylePrefs20sMozGradientsEnabledE" ] pub static mut StylePrefs_sMozGradientsEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla10StylePrefs22sControlCharVisibilityE" ] + # [ link_name = "\u{1}__ZN7mozilla10StylePrefs22sControlCharVisibilityE" ] pub static mut StylePrefs_sControlCharVisibility : bool ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla10StylePrefs28sFramesTimingFunctionEnabledE" ] + # [ link_name = "\u{1}__ZN7mozilla10StylePrefs28sFramesTimingFunctionEnabledE" ] pub static mut StylePrefs_sFramesTimingFunctionEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla10StylePrefs31sUnprefixedFullscreenApiEnabledE" ] + # [ link_name = "\u{1}__ZN7mozilla10StylePrefs31sUnprefixedFullscreenApiEnabledE" ] pub static mut StylePrefs_sUnprefixedFullscreenApiEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla10StylePrefs20sVisitedLinksEnabledE" ] + # [ link_name = "\u{1}__ZN7mozilla10StylePrefs20sVisitedLinksEnabledE" ] pub static mut StylePrefs_sVisitedLinksEnabled : bool ; } # [ test ] fn bindgen_test_layout_StylePrefs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StylePrefs > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( StylePrefs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StylePrefs > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( StylePrefs ) ) ) ; } impl Clone for StylePrefs { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct NonOwningAnimationTarget { pub mElement : * mut root :: mozilla :: dom :: Element , pub mPseudoType : root :: mozilla :: CSSPseudoElementType , } # [ test ] fn bindgen_test_layout_NonOwningAnimationTarget ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NonOwningAnimationTarget > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( NonOwningAnimationTarget ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NonOwningAnimationTarget > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NonOwningAnimationTarget ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NonOwningAnimationTarget ) ) . mElement as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( NonOwningAnimationTarget ) , "::" , stringify ! ( mElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NonOwningAnimationTarget ) ) . mPseudoType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( NonOwningAnimationTarget ) , "::" , stringify ! ( mPseudoType ) ) ) ; } impl Clone for NonOwningAnimationTarget { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct PseudoElementHashEntry { pub _base : root :: PLDHashEntryHdr , pub mElement : root :: RefPtr < root :: mozilla :: dom :: Element > , pub mPseudoType : root :: mozilla :: CSSPseudoElementType , } pub type PseudoElementHashEntry_KeyType = root :: mozilla :: NonOwningAnimationTarget ; pub type PseudoElementHashEntry_KeyTypePointer = * const root :: mozilla :: NonOwningAnimationTarget ; pub const PseudoElementHashEntry_ALLOW_MEMMOVE : root :: mozilla :: PseudoElementHashEntry__bindgen_ty_1 = 1 ; pub type PseudoElementHashEntry__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_PseudoElementHashEntry ( ) { assert_eq ! ( :: std :: mem :: size_of :: < PseudoElementHashEntry > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( PseudoElementHashEntry ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < PseudoElementHashEntry > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( PseudoElementHashEntry ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const PseudoElementHashEntry ) ) . mElement as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( PseudoElementHashEntry ) , "::" , stringify ! ( mElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const PseudoElementHashEntry ) ) . mPseudoType as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( PseudoElementHashEntry ) , "::" , stringify ! ( mPseudoType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct EffectCompositor { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mPresContext : * mut root :: nsPresContext , pub mElementsToRestyle : [ u64 ; 8usize ] , pub mIsInPreTraverse : bool , pub mRuleProcessors : [ u64 ; 2usize ] , } pub type EffectCompositor_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct EffectCompositor_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_EffectCompositor_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EffectCompositor_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( EffectCompositor_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EffectCompositor_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EffectCompositor_cycleCollection ) ) ) ; } impl Clone for EffectCompositor_cycleCollection { fn clone ( & self ) -> Self { * self } } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum EffectCompositor_CascadeLevel { Animations = 0 , Transitions = 1 , } pub const EffectCompositor_RestyleType_Throttled : root :: mozilla :: EffectCompositor_RestyleType = 0 ; pub const EffectCompositor_RestyleType_Standard : root :: mozilla :: EffectCompositor_RestyleType = 1 ; pub const EffectCompositor_RestyleType_Layer : root :: mozilla :: EffectCompositor_RestyleType = 2 ; pub type EffectCompositor_RestyleType = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct EffectCompositor_AnimationStyleRuleProcessor { pub _base : root :: nsIStyleRuleProcessor , pub mRefCnt : root :: nsAutoRefCnt , pub mCompositor : * mut root :: mozilla :: EffectCompositor , pub mCascadeLevel : root :: mozilla :: EffectCompositor_CascadeLevel , } pub type EffectCompositor_AnimationStyleRuleProcessor_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_EffectCompositor_AnimationStyleRuleProcessor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EffectCompositor_AnimationStyleRuleProcessor > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( EffectCompositor_AnimationStyleRuleProcessor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EffectCompositor_AnimationStyleRuleProcessor > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EffectCompositor_AnimationStyleRuleProcessor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor_AnimationStyleRuleProcessor ) ) . mRefCnt as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor_AnimationStyleRuleProcessor ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor_AnimationStyleRuleProcessor ) ) . mCompositor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor_AnimationStyleRuleProcessor ) , "::" , stringify ! ( mCompositor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor_AnimationStyleRuleProcessor ) ) . mCascadeLevel as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor_AnimationStyleRuleProcessor ) , "::" , stringify ! ( mCascadeLevel ) ) ) ; } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla16EffectCompositor21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN7mozilla16EffectCompositor21_cycleCollectorGlobalE" ] pub static mut EffectCompositor__cycleCollectorGlobal : root :: mozilla :: EffectCompositor_cycleCollection ; } pub const EffectCompositor_kCascadeLevelCount : usize = 2 ; # [ test ] fn bindgen_test_layout_EffectCompositor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EffectCompositor > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( EffectCompositor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EffectCompositor > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EffectCompositor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor ) ) . mPresContext as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor ) , "::" , stringify ! ( mPresContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor ) ) . mElementsToRestyle as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor ) , "::" , stringify ! ( mElementsToRestyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor ) ) . mIsInPreTraverse as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor ) , "::" , stringify ! ( mIsInPreTraverse ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor ) ) . mRuleProcessors as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor ) , "::" , stringify ! ( mRuleProcessors ) ) ) ; } pub type CSSPseudoClassTypeBase = u8 ; # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CSSPseudoClassType { empty = 0 , mozOnlyWhitespace = 1 , lang = 2 , root = 3 , any = 4 , firstChild = 5 , firstNode = 6 , lastChild = 7 , lastNode = 8 , onlyChild = 9 , firstOfType = 10 , lastOfType = 11 , onlyOfType = 12 , nthChild = 13 , nthLastChild = 14 , nthOfType = 15 , nthLastOfType = 16 , mozIsHTML = 17 , unresolved = 18 , mozNativeAnonymous = 19 , mozUseShadowTreeRoot = 20 , mozLocaleDir = 21 , mozLWTheme = 22 , mozLWThemeBrightText = 23 , mozLWThemeDarkText = 24 , mozWindowInactive = 25 , mozTableBorderNonzero = 26 , mozBrowserFrame = 27 , scope = 28 , negation = 29 , dir = 30 , link = 31 , mozAnyLink = 32 , anyLink = 33 , visited = 34 , active = 35 , checked = 36 , disabled = 37 , enabled = 38 , focus = 39 , focusWithin = 40 , hover = 41 , mozDragOver = 42 , target = 43 , indeterminate = 44 , mozDevtoolsHighlighted = 45 , mozStyleeditorTransitioning = 46 , fullscreen = 47 , mozFullScreen = 48 , mozFocusRing = 49 , mozBroken = 50 , mozLoading = 51 , mozUserDisabled = 52 , mozSuppressed = 53 , mozHandlerClickToPlay = 54 , mozHandlerVulnerableUpdatable = 55 , mozHandlerVulnerableNoUpdate = 56 , mozHandlerDisabled = 57 , mozHandlerBlocked = 58 , mozHandlerCrashed = 59 , mozMathIncrementScriptLevel = 60 , mozHasDirAttr = 61 , mozDirAttrLTR = 62 , mozDirAttrRTL = 63 , mozDirAttrLikeAuto = 64 , mozAutofill = 65 , mozAutofillPreview = 66 , required = 67 , optional = 68 , valid = 69 , invalid = 70 , inRange = 71 , outOfRange = 72 , defaultPseudo = 73 , placeholderShown = 74 , mozReadOnly = 75 , mozReadWrite = 76 , mozSubmitInvalid = 77 , mozUIInvalid = 78 , mozUIValid = 79 , mozMeterOptimum = 80 , mozMeterSubOptimum = 81 , mozMeterSubSubOptimum = 82 , mozPlaceholder = 83 , Count = 84 , NotPseudo = 85 , MAX = 86 , } # [ repr ( C ) ] pub struct GeckoFont { pub gecko : root :: nsStyleFont , } # [ test ] fn bindgen_test_layout_GeckoFont ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoFont > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( GeckoFont ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoFont > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoFont ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFont ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFont ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoColor { pub gecko : root :: nsStyleColor , } # [ test ] fn bindgen_test_layout_GeckoColor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoColor > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( GeckoColor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoColor > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoColor ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoColor ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] pub struct GeckoList { pub gecko : root :: nsStyleList , } # [ test ] fn bindgen_test_layout_GeckoList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoList > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( GeckoList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoList ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoList ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] pub struct GeckoText { pub gecko : root :: nsStyleText , } # [ test ] fn bindgen_test_layout_GeckoText ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoText > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( GeckoText ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoText > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoText ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoText ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoText ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoVisibility { pub gecko : root :: nsStyleVisibility , } # [ test ] fn bindgen_test_layout_GeckoVisibility ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoVisibility > ( ) , 7usize , concat ! ( "Size of: " , stringify ! ( GeckoVisibility ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoVisibility > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( GeckoVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoVisibility ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoVisibility ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoUserInterface { pub gecko : root :: nsStyleUserInterface , } # [ test ] fn bindgen_test_layout_GeckoUserInterface ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoUserInterface > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( GeckoUserInterface ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoUserInterface > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoUserInterface ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoUserInterface ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoUserInterface ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoTableBorder { pub gecko : root :: nsStyleTableBorder , } # [ test ] fn bindgen_test_layout_GeckoTableBorder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoTableBorder > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( GeckoTableBorder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoTableBorder > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoTableBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoTableBorder ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoTableBorder ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoSVG { pub gecko : root :: nsStyleSVG , } # [ test ] fn bindgen_test_layout_GeckoSVG ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoSVG > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( GeckoSVG ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoSVG > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoSVG ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoSVG ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoSVG ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoBackground { pub gecko : root :: nsStyleBackground , } # [ test ] fn bindgen_test_layout_GeckoBackground ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoBackground > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( GeckoBackground ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoBackground > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoBackground ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoBackground ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoBackground ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] pub struct GeckoPosition { pub gecko : root :: nsStylePosition , } # [ test ] fn bindgen_test_layout_GeckoPosition ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoPosition > ( ) , 440usize , concat ! ( "Size of: " , stringify ! ( GeckoPosition ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoPosition > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoPosition ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoPosition ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] pub struct GeckoTextReset { pub gecko : root :: nsStyleTextReset , } # [ test ] fn bindgen_test_layout_GeckoTextReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoTextReset > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( GeckoTextReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoTextReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoTextReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoTextReset ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoTextReset ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoDisplay { pub gecko : root :: nsStyleDisplay , } # [ test ] fn bindgen_test_layout_GeckoDisplay ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoDisplay > ( ) , 416usize , concat ! ( "Size of: " , stringify ! ( GeckoDisplay ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoDisplay > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoDisplay ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoDisplay ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] pub struct GeckoContent { pub gecko : root :: nsStyleContent , } # [ test ] fn bindgen_test_layout_GeckoContent ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoContent > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( GeckoContent ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoContent > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoContent ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoContent ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoUIReset { pub gecko : root :: nsStyleUIReset , } # [ test ] fn bindgen_test_layout_GeckoUIReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoUIReset > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( GeckoUIReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoUIReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoUIReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoUIReset ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoUIReset ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoTable { pub gecko : root :: nsStyleTable , } # [ test ] fn bindgen_test_layout_GeckoTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoTable > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( GeckoTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoTable > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoTable ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoTable ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoMargin { pub gecko : root :: nsStyleMargin , } # [ test ] fn bindgen_test_layout_GeckoMargin ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoMargin > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( GeckoMargin ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoMargin > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoMargin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoMargin ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoMargin ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoPadding { pub gecko : root :: nsStylePadding , } # [ test ] fn bindgen_test_layout_GeckoPadding ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoPadding > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( GeckoPadding ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoPadding > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoPadding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoPadding ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoPadding ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoBorder { pub gecko : root :: nsStyleBorder , } # [ test ] fn bindgen_test_layout_GeckoBorder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoBorder > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( GeckoBorder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoBorder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoBorder ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoBorder ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoOutline { pub gecko : root :: nsStyleOutline , } # [ test ] fn bindgen_test_layout_GeckoOutline ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoOutline > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( GeckoOutline ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoOutline > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoOutline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoOutline ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoOutline ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoXUL { pub gecko : root :: nsStyleXUL , } # [ test ] fn bindgen_test_layout_GeckoXUL ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoXUL > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( GeckoXUL ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoXUL > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoXUL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoXUL ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoXUL ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoSVGReset { pub gecko : root :: nsStyleSVGReset , } # [ test ] fn bindgen_test_layout_GeckoSVGReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoSVGReset > ( ) , 200usize , concat ! ( "Size of: " , stringify ! ( GeckoSVGReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoSVGReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoSVGReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoSVGReset ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoSVGReset ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoColumn { pub gecko : root :: nsStyleColumn , } # [ test ] fn bindgen_test_layout_GeckoColumn ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoColumn > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( GeckoColumn ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoColumn > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoColumn ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoColumn ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoColumn ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoEffects { pub gecko : root :: nsStyleEffects , } # [ test ] fn bindgen_test_layout_GeckoEffects ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoEffects > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( GeckoEffects ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoEffects > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoEffects ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoEffects ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoEffects ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ServoMediaList { pub _base : root :: mozilla :: dom :: MediaList , pub mRawList : root :: RefPtr < root :: RawServoMediaList > , } # [ test ] fn bindgen_test_layout_ServoMediaList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoMediaList > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ServoMediaList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoMediaList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoMediaList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoMediaList ) ) . mRawList as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ServoMediaList ) , "::" , stringify ! ( mRawList ) ) ) ; } /// A PostTraversalTask is a task to be performed immediately after a Servo @@ -424,10 +427,10 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// The set of style sheets that apply to a document, backed by a Servo /// Stylist. A ServoStyleSet contains ServoStyleSheets. # [ repr ( C ) ] pub struct ServoStyleSet { pub mKind : root :: mozilla :: ServoStyleSet_Kind , pub mPresContext : * mut root :: nsPresContext , pub mLastPresContextUsesXBLStyleSet : * mut :: std :: os :: raw :: c_void , pub mRawSet : root :: mozilla :: UniquePtr < root :: RawServoStyleSet > , pub mSheets : [ u64 ; 9usize ] , pub mAuthorStyleDisabled : bool , pub mStylistState : root :: mozilla :: StylistState , pub mUserFontSetUpdateGeneration : u64 , pub mUserFontCacheUpdateGeneration : u32 , pub mNeedsRestyleAfterEnsureUniqueInner : bool , pub mNonInheritingStyleContexts : [ u64 ; 7usize ] , pub mPostTraversalTasks : root :: nsTArray < root :: mozilla :: PostTraversalTask > , pub mStyleRuleMap : root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > , pub mBindingManager : root :: RefPtr < root :: nsBindingManager > , } pub type ServoStyleSet_SnapshotTable = root :: mozilla :: ServoElementSnapshotTable ; pub const ServoStyleSet_Kind_Master : root :: mozilla :: ServoStyleSet_Kind = 0 ; pub const ServoStyleSet_Kind_ForXBL : root :: mozilla :: ServoStyleSet_Kind = 1 ; pub type ServoStyleSet_Kind = u8 ; extern "C" { - # [ link_name = "\u{1}_ZN7mozilla13ServoStyleSet17sInServoTraversalE" ] + # [ link_name = "\u{1}__ZN7mozilla13ServoStyleSet17sInServoTraversalE" ] pub static mut ServoStyleSet_sInServoTraversal : * mut root :: mozilla :: ServoStyleSet ; } # [ test ] fn bindgen_test_layout_ServoStyleSet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoStyleSet > ( ) , 208usize , concat ! ( "Size of: " , stringify ! ( ServoStyleSet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoStyleSet > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoStyleSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mKind as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mKind ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mPresContext as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mPresContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mLastPresContextUsesXBLStyleSet as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mLastPresContextUsesXBLStyleSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mRawSet as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mRawSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mSheets as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mAuthorStyleDisabled as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mAuthorStyleDisabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mStylistState as * const _ as usize } , 105usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mStylistState ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mUserFontSetUpdateGeneration as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mUserFontSetUpdateGeneration ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mUserFontCacheUpdateGeneration as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mUserFontCacheUpdateGeneration ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mNeedsRestyleAfterEnsureUniqueInner as * const _ as usize } , 124usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mNeedsRestyleAfterEnsureUniqueInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mNonInheritingStyleContexts as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mNonInheritingStyleContexts ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mPostTraversalTasks as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mPostTraversalTasks ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mStyleRuleMap as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mStyleRuleMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mBindingManager as * const _ as usize } , 200usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mBindingManager ) ) ) ; } # [ repr ( C ) ] pub struct ServoStyleContext { pub _base : root :: nsStyleContext , pub mPresContext : * mut root :: nsPresContext , pub mSource : root :: ServoComputedData , pub mNextInheritingAnonBoxStyle : root :: RefPtr < root :: mozilla :: ServoStyleContext > , pub mNextLazyPseudoStyle : root :: RefPtr < root :: mozilla :: ServoStyleContext > , } # [ test ] fn bindgen_test_layout_ServoStyleContext ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoStyleContext > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( ServoStyleContext ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoStyleContext > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoStyleContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleContext ) ) . mPresContext as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleContext ) , "::" , stringify ! ( mPresContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleContext ) ) . mSource as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleContext ) , "::" , stringify ! ( mSource ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleContext ) ) . mNextInheritingAnonBoxStyle as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleContext ) , "::" , stringify ! ( mNextInheritingAnonBoxStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleContext ) ) . mNextLazyPseudoStyle as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleContext ) , "::" , stringify ! ( mNextLazyPseudoStyle ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct CSSFontFaceDescriptors { pub mFamily : root :: nsCSSValue , pub mStyle : root :: nsCSSValue , pub mWeight : root :: nsCSSValue , pub mStretch : root :: nsCSSValue , pub mSrc : root :: nsCSSValue , pub mUnicodeRange : root :: nsCSSValue , pub mFontFeatureSettings : root :: nsCSSValue , pub mFontLanguageOverride : root :: nsCSSValue , pub mDisplay : root :: nsCSSValue , } extern "C" { - # [ link_name = "\u{1}_ZN7mozilla22CSSFontFaceDescriptors6FieldsE" ] + # [ link_name = "\u{1}__ZN7mozilla22CSSFontFaceDescriptors6FieldsE" ] pub static mut CSSFontFaceDescriptors_Fields : [ * const root :: nsCSSValue ; 0usize ] ; } # [ test ] fn bindgen_test_layout_CSSFontFaceDescriptors ( ) { assert_eq ! ( :: std :: mem :: size_of :: < CSSFontFaceDescriptors > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( CSSFontFaceDescriptors ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < CSSFontFaceDescriptors > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( CSSFontFaceDescriptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mFamily as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mFamily ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mStyle as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mWeight as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mWeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mStretch as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mStretch ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mSrc as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mSrc ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mUnicodeRange as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mUnicodeRange ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mFontFeatureSettings as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mFontFeatureSettings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mFontLanguageOverride as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mFontLanguageOverride ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mDisplay as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mDisplay ) ) ) ; } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct InfallibleAllocPolicy { pub _address : u8 , } # [ test ] fn bindgen_test_layout_InfallibleAllocPolicy ( ) { assert_eq ! ( :: std :: mem :: size_of :: < InfallibleAllocPolicy > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( InfallibleAllocPolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < InfallibleAllocPolicy > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( InfallibleAllocPolicy ) ) ) ; } impl Clone for InfallibleAllocPolicy { fn clone ( & self ) -> Self { * self } } /// MozRefCountType is Mozilla's reference count type. @@ -615,7 +618,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// @param DataType the simple datatype being wrapped /// @see nsInterfaceHashtable, nsClassHashtable # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsDataHashtable { pub _address : u8 , } pub type nsDataHashtable_BaseClass = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTArrayHeader { pub mLength : u32 , pub _bitfield_1 : u32 , } extern "C" { - # [ link_name = "\u{1}_ZN14nsTArrayHeader9sEmptyHdrE" ] + # [ link_name = "\u{1}__ZN14nsTArrayHeader9sEmptyHdrE" ] pub static mut nsTArrayHeader_sEmptyHdr : root :: nsTArrayHeader ; } # [ test ] fn bindgen_test_layout_nsTArrayHeader ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTArrayHeader > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsTArrayHeader ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTArrayHeader > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTArrayHeader ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTArrayHeader ) ) . mLength as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTArrayHeader ) , "::" , stringify ! ( mLength ) ) ) ; } impl Clone for nsTArrayHeader { fn clone ( & self ) -> Self { * self } } impl nsTArrayHeader { # [ inline ] pub fn mCapacity ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x7fffffff as u32 ; 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 = 0x7fffffff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn mIsAutoArray ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x80000000 as u32 ; 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 = 0x80000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 31usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mCapacity : u32 , mIsAutoArray : u32 ) -> u32 { ( ( 0 | ( ( mCapacity as u32 as u32 ) << 0usize ) & ( 0x7fffffff as u32 ) ) | ( ( mIsAutoArray as u32 as u32 ) << 31usize ) & ( 0x80000000 as u32 ) ) } } pub type AutoTArray_self_type = u8 ; pub type AutoTArray_base_type < E > = root :: nsTArray < E > ; pub type AutoTArray_Header < E > = root :: AutoTArray_base_type < E > ; pub type AutoTArray_elem_type < E > = root :: AutoTArray_base_type < E > ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AutoTArray__bindgen_ty_1 { pub mAutoBuf : root :: __BindgenUnionField < * mut :: std :: os :: raw :: c_char > , pub mAlign : root :: __BindgenUnionField < u8 > , pub bindgen_union_field : u64 , } pub type nscoord = i32 ; pub type nscolor = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct gfxFontFeature { pub mTag : u32 , pub mValue : u32 , } # [ test ] fn bindgen_test_layout_gfxFontFeature ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeature > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeature ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeature > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeature ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeature ) ) . mTag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeature ) , "::" , stringify ! ( mTag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeature ) ) . mValue as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeature ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for gfxFontFeature { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct gfxAlternateValue { pub alternate : u32 , pub value : ::nsstring::nsStringRepr , } # [ test ] fn bindgen_test_layout_gfxAlternateValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxAlternateValue > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( gfxAlternateValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxAlternateValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxAlternateValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxAlternateValue ) ) . alternate as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxAlternateValue ) , "::" , stringify ! ( alternate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxAlternateValue ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( gfxAlternateValue ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct gfxFontFeatureValueSet { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mFontFeatureValues : [ u64 ; 4usize ] , } pub type gfxFontFeatureValueSet_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ repr ( C ) ] pub struct gfxFontFeatureValueSet_ValueList { pub name : ::nsstring::nsStringRepr , pub featureSelectors : root :: nsTArray < u32 > , } # [ test ] fn bindgen_test_layout_gfxFontFeatureValueSet_ValueList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeatureValueSet_ValueList > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeatureValueSet_ValueList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeatureValueSet_ValueList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeatureValueSet_ValueList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_ValueList ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_ValueList ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_ValueList ) ) . featureSelectors as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_ValueList ) , "::" , stringify ! ( featureSelectors ) ) ) ; } # [ repr ( C ) ] pub struct gfxFontFeatureValueSet_FeatureValues { pub alternate : u32 , pub valuelist : root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > , } # [ test ] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValues ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeatureValueSet_FeatureValues > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeatureValueSet_FeatureValues ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeatureValueSet_FeatureValues > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeatureValueSet_FeatureValues ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValues ) ) . alternate as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValues ) , "::" , stringify ! ( alternate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValues ) ) . valuelist as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValues ) , "::" , stringify ! ( valuelist ) ) ) ; } # [ repr ( C ) ] pub struct gfxFontFeatureValueSet_FeatureValueHashKey { pub mFamily : ::nsstring::nsStringRepr , pub mPropVal : u32 , pub mName : ::nsstring::nsStringRepr , } # [ test ] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashKey ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeatureValueSet_FeatureValueHashKey > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashKey ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeatureValueSet_FeatureValueHashKey > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) ) . mFamily as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , stringify ! ( mFamily ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) ) . mPropVal as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , stringify ! ( mPropVal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) ) . mName as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , stringify ! ( mName ) ) ) ; } # [ repr ( C ) ] pub struct gfxFontFeatureValueSet_FeatureValueHashEntry { pub _base : root :: PLDHashEntryHdr , pub mKey : root :: gfxFontFeatureValueSet_FeatureValueHashKey , pub mValues : root :: nsTArray < u32 > , } pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyType = * const root :: gfxFontFeatureValueSet_FeatureValueHashKey ; pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyTypePointer = * const root :: gfxFontFeatureValueSet_FeatureValueHashKey ; pub const gfxFontFeatureValueSet_FeatureValueHashEntry_ALLOW_MEMMOVE : root :: gfxFontFeatureValueSet_FeatureValueHashEntry__bindgen_ty_1 = 1 ; pub type gfxFontFeatureValueSet_FeatureValueHashEntry__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashEntry ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeatureValueSet_FeatureValueHashEntry > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashEntry ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeatureValueSet_FeatureValueHashEntry > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashEntry ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValueHashEntry ) ) . mKey as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashEntry ) , "::" , stringify ! ( mKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValueHashEntry ) ) . mValues as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashEntry ) , "::" , stringify ! ( mValues ) ) ) ; } # [ test ] fn bindgen_test_layout_gfxFontFeatureValueSet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeatureValueSet > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeatureValueSet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeatureValueSet > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeatureValueSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet ) ) . mFontFeatureValues as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet ) , "::" , stringify ! ( mFontFeatureValues ) ) ) ; } pub type gfxFontVariation = root :: mozilla :: gfx :: FontVariation ; pub const kGenericFont_NONE : u8 = 0 ; pub const kGenericFont_moz_variable : u8 = 0 ; pub const kGenericFont_moz_fixed : u8 = 1 ; pub const kGenericFont_serif : u8 = 2 ; pub const kGenericFont_sans_serif : u8 = 4 ; pub const kGenericFont_monospace : u8 = 8 ; pub const kGenericFont_cursive : u8 = 16 ; pub const kGenericFont_fantasy : u8 = 32 ; # [ repr ( C ) ] pub struct nsFont { pub fontlist : root :: mozilla :: FontFamilyList , pub style : u8 , pub systemFont : bool , pub variantCaps : u8 , pub variantNumeric : u8 , pub variantPosition : u8 , pub variantWidth : u8 , pub variantLigatures : u16 , pub variantEastAsian : u16 , pub variantAlternates : u16 , pub smoothing : u8 , pub fontSmoothingBackgroundColor : root :: nscolor , pub weight : u16 , pub stretch : i16 , pub kerning : u8 , pub synthesis : u8 , pub size : root :: nscoord , pub sizeAdjust : f32 , pub alternateValues : root :: nsTArray < root :: gfxAlternateValue > , pub featureValueLookup : root :: RefPtr < root :: gfxFontFeatureValueSet > , pub fontFeatureSettings : root :: nsTArray < root :: gfxFontFeature > , pub fontVariationSettings : root :: nsTArray < root :: gfxFontVariation > , pub languageOverride : u32 , } pub const nsFont_MaxDifference_eNone : root :: nsFont_MaxDifference = 0 ; pub const nsFont_MaxDifference_eVisual : root :: nsFont_MaxDifference = 1 ; pub const nsFont_MaxDifference_eLayoutAffecting : root :: nsFont_MaxDifference = 2 ; pub type nsFont_MaxDifference = u8 ; # [ test ] fn bindgen_test_layout_nsFont ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsFont > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( nsFont ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsFont > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsFont ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . fontlist as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( fontlist ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . style as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( style ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . systemFont as * const _ as usize } , 17usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( systemFont ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantCaps as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantCaps ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantNumeric as * const _ as usize } , 19usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantNumeric ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantPosition as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantWidth as * const _ as usize } , 21usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantLigatures as * const _ as usize } , 22usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantLigatures ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantEastAsian as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantEastAsian ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantAlternates as * const _ as usize } , 26usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantAlternates ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . smoothing as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( smoothing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . fontSmoothingBackgroundColor as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( fontSmoothingBackgroundColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . weight as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( weight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . stretch as * const _ as usize } , 38usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( stretch ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . kerning as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( kerning ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . synthesis as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( synthesis ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . size as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . sizeAdjust as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( sizeAdjust ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . alternateValues as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( alternateValues ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . featureValueLookup as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( featureValueLookup ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . fontFeatureSettings as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( fontFeatureSettings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . fontVariationSettings as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( fontVariationSettings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . languageOverride as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( languageOverride ) ) ) ; } /// An array of objects, similar to AutoTArray but which is memmovable. It @@ -678,7 +681,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// When this header is in use, it enables reference counting, and capacity /// tracking. NOTE: A string buffer can be modified only if its reference /// count is 1. - # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStringBuffer { pub mRefCount : u32 , pub mStorageSize : u32 , pub mCanary : u32 , } # [ test ] fn bindgen_test_layout_nsStringBuffer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStringBuffer > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( nsStringBuffer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStringBuffer > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStringBuffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mRefCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mRefCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mStorageSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mStorageSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mCanary as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mCanary ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAtom { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub _bitfield_1 : u32 , pub mHash : u32 , pub mString : * mut u16 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsAtom_AtomKind { DynamicAtom = 0 , StaticAtom = 1 , HTML5Atom = 2 , } pub type nsAtom_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsAtom ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAtom > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsAtom ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAtom > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAtom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mHash as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mString as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mString ) ) ) ; } impl nsAtom { # [ inline ] pub fn mLength ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3fffffff as u32 ; 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 = 0x3fffffff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn mKind ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mKind ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mLength : u32 , mKind : u32 ) -> u32 { ( ( 0 | ( ( mLength as u32 as u32 ) << 0usize ) & ( 0x3fffffff as u32 ) ) | ( ( mKind as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStaticAtom { pub _base : root :: nsAtom , } # [ test ] fn bindgen_test_layout_nsStaticAtom ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStaticAtom > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStaticAtom ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStaticAtom > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStaticAtom ) ) ) ; } pub type nsLoadFlags = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIRequest { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIRequest_COMTypeInfo { pub _address : u8 , } pub const nsIRequest_LOAD_REQUESTMASK : root :: nsIRequest__bindgen_ty_1 = 65535 ; pub const nsIRequest_LOAD_NORMAL : root :: nsIRequest__bindgen_ty_1 = 0 ; pub const nsIRequest_LOAD_BACKGROUND : root :: nsIRequest__bindgen_ty_1 = 1 ; pub const nsIRequest_LOAD_HTML_OBJECT_DATA : root :: nsIRequest__bindgen_ty_1 = 2 ; pub const nsIRequest_LOAD_DOCUMENT_NEEDS_COOKIE : root :: nsIRequest__bindgen_ty_1 = 4 ; pub const nsIRequest_INHIBIT_CACHING : root :: nsIRequest__bindgen_ty_1 = 128 ; pub const nsIRequest_INHIBIT_PERSISTENT_CACHING : root :: nsIRequest__bindgen_ty_1 = 256 ; pub const nsIRequest_LOAD_BYPASS_CACHE : root :: nsIRequest__bindgen_ty_1 = 512 ; pub const nsIRequest_LOAD_FROM_CACHE : root :: nsIRequest__bindgen_ty_1 = 1024 ; pub const nsIRequest_VALIDATE_ALWAYS : root :: nsIRequest__bindgen_ty_1 = 2048 ; pub const nsIRequest_VALIDATE_NEVER : root :: nsIRequest__bindgen_ty_1 = 4096 ; pub const nsIRequest_VALIDATE_ONCE_PER_SESSION : root :: nsIRequest__bindgen_ty_1 = 8192 ; pub const nsIRequest_LOAD_ANONYMOUS : root :: nsIRequest__bindgen_ty_1 = 16384 ; pub const nsIRequest_LOAD_FRESH_CONNECTION : root :: nsIRequest__bindgen_ty_1 = 32768 ; pub type nsIRequest__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsIRequest ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIRequest > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIRequest ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIRequest > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIRequest ) ) ) ; } impl Clone for nsIRequest { fn clone ( & self ) -> Self { * self } } + # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStringBuffer { pub mRefCount : u32 , pub mStorageSize : u32 , pub mCanary : u32 , } # [ test ] fn bindgen_test_layout_nsStringBuffer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStringBuffer > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( nsStringBuffer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStringBuffer > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStringBuffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mRefCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mRefCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mStorageSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mStorageSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mCanary as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mCanary ) ) ) ; } impl Clone for nsStringBuffer { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAtom { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub _bitfield_1 : u32 , pub mHash : u32 , pub mString : * mut u16 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsAtom_AtomKind { DynamicAtom = 0 , StaticAtom = 1 , HTML5Atom = 2 , } pub type nsAtom_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsAtom ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAtom > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsAtom ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAtom > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAtom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mHash as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mString as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mString ) ) ) ; } impl nsAtom { # [ inline ] pub fn mLength ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3fffffff as u32 ; 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 = 0x3fffffff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn mKind ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mKind ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mLength : u32 , mKind : u32 ) -> u32 { ( ( 0 | ( ( mLength as u32 as u32 ) << 0usize ) & ( 0x3fffffff as u32 ) ) | ( ( mKind as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStaticAtom { pub _base : root :: nsAtom , } # [ test ] fn bindgen_test_layout_nsStaticAtom ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStaticAtom > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStaticAtom ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStaticAtom > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStaticAtom ) ) ) ; } pub type nsLoadFlags = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIRequest { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIRequest_COMTypeInfo { pub _address : u8 , } pub const nsIRequest_LOAD_REQUESTMASK : root :: nsIRequest__bindgen_ty_1 = 65535 ; pub const nsIRequest_LOAD_NORMAL : root :: nsIRequest__bindgen_ty_1 = 0 ; pub const nsIRequest_LOAD_BACKGROUND : root :: nsIRequest__bindgen_ty_1 = 1 ; pub const nsIRequest_LOAD_HTML_OBJECT_DATA : root :: nsIRequest__bindgen_ty_1 = 2 ; pub const nsIRequest_LOAD_DOCUMENT_NEEDS_COOKIE : root :: nsIRequest__bindgen_ty_1 = 4 ; pub const nsIRequest_INHIBIT_CACHING : root :: nsIRequest__bindgen_ty_1 = 128 ; pub const nsIRequest_INHIBIT_PERSISTENT_CACHING : root :: nsIRequest__bindgen_ty_1 = 256 ; pub const nsIRequest_LOAD_BYPASS_CACHE : root :: nsIRequest__bindgen_ty_1 = 512 ; pub const nsIRequest_LOAD_FROM_CACHE : root :: nsIRequest__bindgen_ty_1 = 1024 ; pub const nsIRequest_VALIDATE_ALWAYS : root :: nsIRequest__bindgen_ty_1 = 2048 ; pub const nsIRequest_VALIDATE_NEVER : root :: nsIRequest__bindgen_ty_1 = 4096 ; pub const nsIRequest_VALIDATE_ONCE_PER_SESSION : root :: nsIRequest__bindgen_ty_1 = 8192 ; pub const nsIRequest_LOAD_ANONYMOUS : root :: nsIRequest__bindgen_ty_1 = 16384 ; pub const nsIRequest_LOAD_FRESH_CONNECTION : root :: nsIRequest__bindgen_ty_1 = 32768 ; pub type nsIRequest__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsIRequest ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIRequest > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIRequest ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIRequest > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIRequest ) ) ) ; } impl Clone for nsIRequest { fn clone ( & self ) -> Self { * self } } /// Base class that implements parts shared by JSErrorReport and /// JSErrorNotes::Note. # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct JSErrorBase { pub message_ : root :: JS :: ConstUTF8CharsZ , pub filename : * const :: std :: os :: raw :: c_char , pub lineno : :: std :: os :: raw :: c_uint , pub column : :: std :: os :: raw :: c_uint , pub errorNumber : :: std :: os :: raw :: c_uint , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 3usize ] , } # [ test ] fn bindgen_test_layout_JSErrorBase ( ) { assert_eq ! ( :: std :: mem :: size_of :: < JSErrorBase > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( JSErrorBase ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < JSErrorBase > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( JSErrorBase ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const JSErrorBase ) ) . message_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( JSErrorBase ) , "::" , stringify ! ( message_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const JSErrorBase ) ) . filename as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( JSErrorBase ) , "::" , stringify ! ( filename ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const JSErrorBase ) ) . lineno as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( JSErrorBase ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const JSErrorBase ) ) . column as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( JSErrorBase ) , "::" , stringify ! ( column ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const JSErrorBase ) ) . errorNumber as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( JSErrorBase ) , "::" , stringify ! ( errorNumber ) ) ) ; } impl JSErrorBase { # [ inline ] pub fn ownsMessage_ ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; 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 = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( ownsMessage_ : bool ) -> u8 { ( 0 | ( ( ownsMessage_ as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) } } @@ -722,9 +725,9 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// have to include some JS headers that don't play nicely with the rest of the /// codebase. Include nsWrapperCacheInlines.h if you need to call those methods. # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsWrapperCache { pub vtable_ : * const nsWrapperCache__bindgen_vtable , pub mWrapper : * mut root :: JSObject , pub mFlags : root :: nsWrapperCache_FlagsType , pub mBoolFlags : u32 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsWrapperCache_COMTypeInfo { pub _address : u8 , } pub type nsWrapperCache_FlagsType = u32 ; pub const nsWrapperCache_WRAPPER_BIT_PRESERVED : root :: nsWrapperCache__bindgen_ty_1 = 1 ; pub type nsWrapperCache__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; pub const nsWrapperCache_WRAPPER_IS_NOT_DOM_BINDING : root :: nsWrapperCache__bindgen_ty_2 = 2 ; pub type nsWrapperCache__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const nsWrapperCache_kWrapperFlagsMask : root :: nsWrapperCache__bindgen_ty_3 = 3 ; pub type nsWrapperCache__bindgen_ty_3 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsWrapperCache ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsWrapperCache > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsWrapperCache ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsWrapperCache > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsWrapperCache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsWrapperCache ) ) . mWrapper as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsWrapperCache ) , "::" , stringify ! ( mWrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsWrapperCache ) ) . mFlags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsWrapperCache ) , "::" , stringify ! ( mFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsWrapperCache ) ) . mBoolFlags as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsWrapperCache ) , "::" , stringify ! ( mBoolFlags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ProfilerBacktrace { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ProfilerMarkerPayload { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ProfilerBacktraceDestructor { pub _address : u8 , } # [ test ] fn bindgen_test_layout_ProfilerBacktraceDestructor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ProfilerBacktraceDestructor > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( ProfilerBacktraceDestructor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ProfilerBacktraceDestructor > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( ProfilerBacktraceDestructor ) ) ) ; } impl Clone for ProfilerBacktraceDestructor { fn clone ( & self ) -> Self { * self } } pub type UniqueProfilerBacktrace = root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ; pub type gfxSize = [ u64 ; 2usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMNode { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMNode_COMTypeInfo { pub _address : u8 , } pub const nsIDOMNode_ELEMENT_NODE : root :: nsIDOMNode__bindgen_ty_1 = 1 ; pub const nsIDOMNode_ATTRIBUTE_NODE : root :: nsIDOMNode__bindgen_ty_1 = 2 ; pub const nsIDOMNode_TEXT_NODE : root :: nsIDOMNode__bindgen_ty_1 = 3 ; pub const nsIDOMNode_CDATA_SECTION_NODE : root :: nsIDOMNode__bindgen_ty_1 = 4 ; pub const nsIDOMNode_ENTITY_REFERENCE_NODE : root :: nsIDOMNode__bindgen_ty_1 = 5 ; pub const nsIDOMNode_ENTITY_NODE : root :: nsIDOMNode__bindgen_ty_1 = 6 ; pub const nsIDOMNode_PROCESSING_INSTRUCTION_NODE : root :: nsIDOMNode__bindgen_ty_1 = 7 ; pub const nsIDOMNode_COMMENT_NODE : root :: nsIDOMNode__bindgen_ty_1 = 8 ; pub const nsIDOMNode_DOCUMENT_NODE : root :: nsIDOMNode__bindgen_ty_1 = 9 ; pub const nsIDOMNode_DOCUMENT_TYPE_NODE : root :: nsIDOMNode__bindgen_ty_1 = 10 ; pub const nsIDOMNode_DOCUMENT_FRAGMENT_NODE : root :: nsIDOMNode__bindgen_ty_1 = 11 ; pub const nsIDOMNode_NOTATION_NODE : root :: nsIDOMNode__bindgen_ty_1 = 12 ; pub type nsIDOMNode__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; pub const nsIDOMNode_DOCUMENT_POSITION_DISCONNECTED : root :: nsIDOMNode__bindgen_ty_2 = 1 ; pub const nsIDOMNode_DOCUMENT_POSITION_PRECEDING : root :: nsIDOMNode__bindgen_ty_2 = 2 ; pub const nsIDOMNode_DOCUMENT_POSITION_FOLLOWING : root :: nsIDOMNode__bindgen_ty_2 = 4 ; pub const nsIDOMNode_DOCUMENT_POSITION_CONTAINS : root :: nsIDOMNode__bindgen_ty_2 = 8 ; pub const nsIDOMNode_DOCUMENT_POSITION_CONTAINED_BY : root :: nsIDOMNode__bindgen_ty_2 = 16 ; pub const nsIDOMNode_DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC : root :: nsIDOMNode__bindgen_ty_2 = 32 ; pub type nsIDOMNode__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsIDOMNode ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMNode > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMNode ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMNode > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMNode ) ) ) ; } impl Clone for nsIDOMNode { fn clone ( & self ) -> Self { * self } } pub const kNameSpaceID_None : i32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIVariant { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIVariant_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIVariant ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIVariant > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIVariant ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIVariant > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIVariant ) ) ) ; } impl Clone for nsIVariant { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct nsNodeInfoManager { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mNodeInfoHash : * mut root :: PLHashTable , pub mDocument : * mut root :: nsIDocument , pub mNonDocumentNodeInfos : u32 , pub mPrincipal : root :: nsCOMPtr , pub mDefaultPrincipal : root :: nsCOMPtr , pub mTextNodeInfo : * mut root :: mozilla :: dom :: NodeInfo , pub mCommentNodeInfo : * mut root :: mozilla :: dom :: NodeInfo , pub mDocumentNodeInfo : * mut root :: mozilla :: dom :: NodeInfo , pub mBindingManager : root :: RefPtr < root :: nsBindingManager > , pub mRecentlyUsedNodeInfos : [ * mut root :: mozilla :: dom :: NodeInfo ; 31usize ] , pub mSVGEnabled : root :: nsNodeInfoManager_Tri , pub mMathMLEnabled : root :: nsNodeInfoManager_Tri , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsNodeInfoManager_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_nsNodeInfoManager_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsNodeInfoManager_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsNodeInfoManager_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsNodeInfoManager_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsNodeInfoManager_cycleCollection ) ) ) ; } impl Clone for nsNodeInfoManager_cycleCollection { fn clone ( & self ) -> Self { * self } } pub type nsNodeInfoManager_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; pub const nsNodeInfoManager_Tri_eTriUnset : root :: nsNodeInfoManager_Tri = 0 ; pub const nsNodeInfoManager_Tri_eTriFalse : root :: nsNodeInfoManager_Tri = 1 ; pub const nsNodeInfoManager_Tri_eTriTrue : root :: nsNodeInfoManager_Tri = 2 ; pub type nsNodeInfoManager_Tri = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}_ZN17nsNodeInfoManager21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN17nsNodeInfoManager21_cycleCollectorGlobalE" ] pub static mut nsNodeInfoManager__cycleCollectorGlobal : root :: nsNodeInfoManager_cycleCollection ; -} # [ test ] fn bindgen_test_layout_nsNodeInfoManager ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsNodeInfoManager > ( ) , 336usize , concat ! ( "Size of: " , stringify ! ( nsNodeInfoManager ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsNodeInfoManager > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsNodeInfoManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mNodeInfoHash as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mNodeInfoHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDocument as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mNonDocumentNodeInfos as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mNonDocumentNodeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mPrincipal as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDefaultPrincipal as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDefaultPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mTextNodeInfo as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mTextNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mCommentNodeInfo as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mCommentNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDocumentNodeInfo as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDocumentNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mBindingManager as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mBindingManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mRecentlyUsedNodeInfos as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mRecentlyUsedNodeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mSVGEnabled as * const _ as usize } , 328usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mSVGEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mMathMLEnabled as * const _ as usize } , 332usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mMathMLEnabled ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsPropertyTable { pub mPropertyList : * mut root :: nsPropertyTable_PropertyList , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsPropertyTable_PropertyList { _unused : [ u8 ; 0 ] } # [ test ] fn bindgen_test_layout_nsPropertyTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPropertyTable > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsPropertyTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPropertyTable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPropertyTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPropertyTable ) ) . mPropertyList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsPropertyTable ) , "::" , stringify ! ( mPropertyList ) ) ) ; } pub type nsTObserverArray_base_index_type = usize ; pub type nsTObserverArray_base_size_type = usize ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTObserverArray_base_Iterator_base { pub mPosition : root :: nsTObserverArray_base_index_type , pub mNext : * mut root :: nsTObserverArray_base_Iterator_base , } # [ test ] fn bindgen_test_layout_nsTObserverArray_base_Iterator_base ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTObserverArray_base_Iterator_base > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTObserverArray_base_Iterator_base ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTObserverArray_base_Iterator_base > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsTObserverArray_base_Iterator_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTObserverArray_base_Iterator_base ) ) . mPosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTObserverArray_base_Iterator_base ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTObserverArray_base_Iterator_base ) ) . mNext as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsTObserverArray_base_Iterator_base ) , "::" , stringify ! ( mNext ) ) ) ; } impl Clone for nsTObserverArray_base_Iterator_base { fn clone ( & self ) -> Self { * self } } pub type nsAutoTObserverArray_elem_type < T > = T ; pub type nsAutoTObserverArray_array_type < T > = root :: nsTArray < T > ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_Iterator { pub _base : root :: nsTObserverArray_base_Iterator_base , pub mArray : * mut root :: nsAutoTObserverArray_Iterator_array_type , } pub type nsAutoTObserverArray_Iterator_array_type = u8 ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_ForwardIterator { pub _base : root :: nsAutoTObserverArray_Iterator , } pub type nsAutoTObserverArray_ForwardIterator_array_type = u8 ; pub type nsAutoTObserverArray_ForwardIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_EndLimitedIterator { pub _base : root :: nsAutoTObserverArray_ForwardIterator , pub mEnd : root :: nsAutoTObserverArray_ForwardIterator , } pub type nsAutoTObserverArray_EndLimitedIterator_array_type = u8 ; pub type nsAutoTObserverArray_EndLimitedIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_BackwardIterator { pub _base : root :: nsAutoTObserverArray_Iterator , } pub type nsAutoTObserverArray_BackwardIterator_array_type = u8 ; pub type nsAutoTObserverArray_BackwardIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsTObserverArray { pub _address : u8 , } pub type nsTObserverArray_base_type = u8 ; pub type nsTObserverArray_size_type = root :: nsTObserverArray_base_size_type ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMEventTarget { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMEventTarget_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMEventTarget ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMEventTarget > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMEventTarget ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMEventTarget > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMEventTarget ) ) ) ; } impl Clone for nsIDOMEventTarget { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsAttrChildContentList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsCSSSelectorList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsRange { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct RawServoSelectorList { _unused : [ u8 ; 0 ] } pub const NODE_HAS_LISTENERMANAGER : root :: _bindgen_ty_72 = 4 ; pub const NODE_HAS_PROPERTIES : root :: _bindgen_ty_72 = 8 ; pub const NODE_IS_ANONYMOUS_ROOT : root :: _bindgen_ty_72 = 16 ; pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE : root :: _bindgen_ty_72 = 32 ; pub const NODE_IS_NATIVE_ANONYMOUS_ROOT : root :: _bindgen_ty_72 = 64 ; pub const NODE_FORCE_XBL_BINDINGS : root :: _bindgen_ty_72 = 128 ; pub const NODE_MAY_BE_IN_BINDING_MNGR : root :: _bindgen_ty_72 = 256 ; pub const NODE_IS_EDITABLE : root :: _bindgen_ty_72 = 512 ; pub const NODE_IS_NATIVE_ANONYMOUS : root :: _bindgen_ty_72 = 1024 ; pub const NODE_IS_IN_SHADOW_TREE : root :: _bindgen_ty_72 = 2048 ; pub const NODE_HAS_EMPTY_SELECTOR : root :: _bindgen_ty_72 = 4096 ; pub const NODE_HAS_SLOW_SELECTOR : root :: _bindgen_ty_72 = 8192 ; pub const NODE_HAS_EDGE_CHILD_SELECTOR : root :: _bindgen_ty_72 = 16384 ; pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS : root :: _bindgen_ty_72 = 32768 ; pub const NODE_ALL_SELECTOR_FLAGS : root :: _bindgen_ty_72 = 61440 ; pub const NODE_NEEDS_FRAME : root :: _bindgen_ty_72 = 65536 ; pub const NODE_DESCENDANTS_NEED_FRAMES : root :: _bindgen_ty_72 = 131072 ; pub const NODE_HAS_ACCESSKEY : root :: _bindgen_ty_72 = 262144 ; pub const NODE_HAS_DIRECTION_RTL : root :: _bindgen_ty_72 = 524288 ; pub const NODE_HAS_DIRECTION_LTR : root :: _bindgen_ty_72 = 1048576 ; pub const NODE_ALL_DIRECTION_FLAGS : root :: _bindgen_ty_72 = 1572864 ; pub const NODE_CHROME_ONLY_ACCESS : root :: _bindgen_ty_72 = 2097152 ; pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS : root :: _bindgen_ty_72 = 4194304 ; pub const NODE_TYPE_SPECIFIC_BITS_OFFSET : root :: _bindgen_ty_72 = 21 ; pub type _bindgen_ty_72 = :: std :: os :: raw :: c_uint ; +} # [ test ] fn bindgen_test_layout_nsNodeInfoManager ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsNodeInfoManager > ( ) , 336usize , concat ! ( "Size of: " , stringify ! ( nsNodeInfoManager ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsNodeInfoManager > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsNodeInfoManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mNodeInfoHash as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mNodeInfoHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDocument as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mNonDocumentNodeInfos as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mNonDocumentNodeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mPrincipal as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDefaultPrincipal as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDefaultPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mTextNodeInfo as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mTextNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mCommentNodeInfo as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mCommentNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDocumentNodeInfo as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDocumentNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mBindingManager as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mBindingManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mRecentlyUsedNodeInfos as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mRecentlyUsedNodeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mSVGEnabled as * const _ as usize } , 328usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mSVGEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mMathMLEnabled as * const _ as usize } , 332usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mMathMLEnabled ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsPropertyTable { pub mPropertyList : * mut root :: nsPropertyTable_PropertyList , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsPropertyTable_PropertyList { _unused : [ u8 ; 0 ] } # [ test ] fn bindgen_test_layout_nsPropertyTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPropertyTable > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsPropertyTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPropertyTable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPropertyTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPropertyTable ) ) . mPropertyList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsPropertyTable ) , "::" , stringify ! ( mPropertyList ) ) ) ; } pub type nsTObserverArray_base_index_type = usize ; pub type nsTObserverArray_base_size_type = usize ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTObserverArray_base_Iterator_base { pub mPosition : root :: nsTObserverArray_base_index_type , pub mNext : * mut root :: nsTObserverArray_base_Iterator_base , } # [ test ] fn bindgen_test_layout_nsTObserverArray_base_Iterator_base ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTObserverArray_base_Iterator_base > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTObserverArray_base_Iterator_base ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTObserverArray_base_Iterator_base > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsTObserverArray_base_Iterator_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTObserverArray_base_Iterator_base ) ) . mPosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTObserverArray_base_Iterator_base ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTObserverArray_base_Iterator_base ) ) . mNext as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsTObserverArray_base_Iterator_base ) , "::" , stringify ! ( mNext ) ) ) ; } impl Clone for nsTObserverArray_base_Iterator_base { fn clone ( & self ) -> Self { * self } } pub type nsAutoTObserverArray_elem_type < T > = T ; pub type nsAutoTObserverArray_array_type < T > = root :: nsTArray < T > ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_Iterator { pub _base : root :: nsTObserverArray_base_Iterator_base , pub mArray : * mut root :: nsAutoTObserverArray_Iterator_array_type , } pub type nsAutoTObserverArray_Iterator_array_type = u8 ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_ForwardIterator { pub _base : root :: nsAutoTObserverArray_Iterator , } pub type nsAutoTObserverArray_ForwardIterator_array_type = u8 ; pub type nsAutoTObserverArray_ForwardIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_EndLimitedIterator { pub _base : root :: nsAutoTObserverArray_ForwardIterator , pub mEnd : root :: nsAutoTObserverArray_ForwardIterator , } pub type nsAutoTObserverArray_EndLimitedIterator_array_type = u8 ; pub type nsAutoTObserverArray_EndLimitedIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_BackwardIterator { pub _base : root :: nsAutoTObserverArray_Iterator , } pub type nsAutoTObserverArray_BackwardIterator_array_type = u8 ; pub type nsAutoTObserverArray_BackwardIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsTObserverArray { pub _address : u8 , } pub type nsTObserverArray_base_type = u8 ; pub type nsTObserverArray_size_type = root :: nsTObserverArray_base_size_type ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMEventTarget { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMEventTarget_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMEventTarget ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMEventTarget > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMEventTarget ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMEventTarget > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMEventTarget ) ) ) ; } impl Clone for nsIDOMEventTarget { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsAttrChildContentList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsCSSSelectorList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsRange { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct RawServoSelectorList { _unused : [ u8 ; 0 ] } pub const NODE_HAS_LISTENERMANAGER : root :: _bindgen_ty_18 = 4 ; pub const NODE_HAS_PROPERTIES : root :: _bindgen_ty_18 = 8 ; pub const NODE_IS_ANONYMOUS_ROOT : root :: _bindgen_ty_18 = 16 ; pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE : root :: _bindgen_ty_18 = 32 ; pub const NODE_IS_NATIVE_ANONYMOUS_ROOT : root :: _bindgen_ty_18 = 64 ; pub const NODE_FORCE_XBL_BINDINGS : root :: _bindgen_ty_18 = 128 ; pub const NODE_MAY_BE_IN_BINDING_MNGR : root :: _bindgen_ty_18 = 256 ; pub const NODE_IS_EDITABLE : root :: _bindgen_ty_18 = 512 ; pub const NODE_IS_NATIVE_ANONYMOUS : root :: _bindgen_ty_18 = 1024 ; pub const NODE_IS_IN_SHADOW_TREE : root :: _bindgen_ty_18 = 2048 ; pub const NODE_HAS_EMPTY_SELECTOR : root :: _bindgen_ty_18 = 4096 ; pub const NODE_HAS_SLOW_SELECTOR : root :: _bindgen_ty_18 = 8192 ; pub const NODE_HAS_EDGE_CHILD_SELECTOR : root :: _bindgen_ty_18 = 16384 ; pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS : root :: _bindgen_ty_18 = 32768 ; pub const NODE_ALL_SELECTOR_FLAGS : root :: _bindgen_ty_18 = 61440 ; pub const NODE_NEEDS_FRAME : root :: _bindgen_ty_18 = 65536 ; pub const NODE_DESCENDANTS_NEED_FRAMES : root :: _bindgen_ty_18 = 131072 ; pub const NODE_HAS_ACCESSKEY : root :: _bindgen_ty_18 = 262144 ; pub const NODE_HAS_DIRECTION_RTL : root :: _bindgen_ty_18 = 524288 ; pub const NODE_HAS_DIRECTION_LTR : root :: _bindgen_ty_18 = 1048576 ; pub const NODE_ALL_DIRECTION_FLAGS : root :: _bindgen_ty_18 = 1572864 ; pub const NODE_CHROME_ONLY_ACCESS : root :: _bindgen_ty_18 = 2097152 ; pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS : root :: _bindgen_ty_18 = 4194304 ; pub const NODE_TYPE_SPECIFIC_BITS_OFFSET : root :: _bindgen_ty_18 = 21 ; pub type _bindgen_ty_18 = :: std :: os :: raw :: c_uint ; /// An internal interface that abstracts some DOMNode-related parts that both /// nsIContent and nsIDocument share. An instance of this interface has a list /// of nsIContent children and provides access to them. @@ -767,10 +770,10 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// @return ATTR_MISSING, ATTR_VALUE_NO_MATCH or the non-negative index /// indicating the first value of aValues that matched pub type nsIContent_AttrValuesArray = * const * const root :: nsStaticAtom ; pub const nsIContent_FlattenedParentType_eNotForStyle : root :: nsIContent_FlattenedParentType = 0 ; pub const nsIContent_FlattenedParentType_eForStyle : root :: nsIContent_FlattenedParentType = 1 ; pub type nsIContent_FlattenedParentType = :: std :: os :: raw :: c_uint ; pub const nsIContent_ETabFocusType_eTabFocus_textControlsMask : root :: nsIContent_ETabFocusType = 1 ; pub const nsIContent_ETabFocusType_eTabFocus_formElementsMask : root :: nsIContent_ETabFocusType = 2 ; pub const nsIContent_ETabFocusType_eTabFocus_linksMask : root :: nsIContent_ETabFocusType = 4 ; pub const nsIContent_ETabFocusType_eTabFocus_any : root :: nsIContent_ETabFocusType = 7 ; pub type nsIContent_ETabFocusType = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}_ZN10nsIContent14sTabFocusModelE" ] + # [ link_name = "\u{1}__ZN10nsIContent14sTabFocusModelE" ] pub static mut nsIContent_sTabFocusModel : i32 ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsIContent26sTabFocusModelAppliesToXULE" ] + # [ link_name = "\u{1}__ZN10nsIContent26sTabFocusModelAppliesToXULE" ] pub static mut nsIContent_sTabFocusModelAppliesToXUL : bool ; } # [ test ] fn bindgen_test_layout_nsIContent ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIContent > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( nsIContent ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIContent > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIContent ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsFrameManagerBase { pub mPresShell : * mut root :: nsIPresShell , pub mRootFrame : * mut root :: nsIFrame , pub mDisplayNoneMap : * mut root :: nsFrameManagerBase_UndisplayedMap , pub mDisplayContentsMap : * mut root :: nsFrameManagerBase_UndisplayedMap , pub mIsDestroyingFrames : bool , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsFrameManagerBase_UndisplayedMap { _unused : [ u8 ; 0 ] } # [ test ] fn bindgen_test_layout_nsFrameManagerBase ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsFrameManagerBase > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsFrameManagerBase ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsFrameManagerBase > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsFrameManagerBase ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mPresShell as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase ) , "::" , stringify ! ( mPresShell ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mRootFrame as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase ) , "::" , stringify ! ( mRootFrame ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mDisplayNoneMap as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase ) , "::" , stringify ! ( mDisplayNoneMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mDisplayContentsMap as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase ) , "::" , stringify ! ( mDisplayContentsMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mIsDestroyingFrames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase ) , "::" , stringify ! ( mIsDestroyingFrames ) ) ) ; } impl Clone for nsFrameManagerBase { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIWeakReference { pub _base : root :: nsISupports , pub mObject : * mut root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIWeakReference_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIWeakReference ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIWeakReference > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsIWeakReference ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIWeakReference > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIWeakReference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWeakReference ) ) . mObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWeakReference ) , "::" , stringify ! ( mObject ) ) ) ; } impl Clone for nsIWeakReference { fn clone ( & self ) -> Self { * self } } pub type nsWeakPtr = root :: nsCOMPtr ; /// templated hashtable class maps keys to reference pointers. @@ -797,10 +800,10 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// presentation context, the style manager, the style set and the root /// frame. # [ repr ( C ) ] pub struct nsIPresShell { pub _base : root :: nsISupports , pub mDocument : root :: nsCOMPtr , pub mPresContext : root :: RefPtr < root :: nsPresContext > , pub mStyleSet : root :: mozilla :: StyleSetHandle , pub mFrameConstructor : * mut root :: nsCSSFrameConstructor , pub mViewManager : * mut root :: nsViewManager , pub mFrameArena : root :: nsPresArena , pub mSelection : root :: RefPtr < root :: nsFrameSelection > , pub mFrameManager : * mut root :: nsFrameManagerBase , pub mForwardingContainer : u64 , pub mDocAccessible : * mut root :: mozilla :: a11y :: DocAccessible , pub mReflowContinueTimer : root :: nsCOMPtr , pub mPaintCount : u64 , pub mScrollPositionClampingScrollPortSize : root :: nsSize , pub mAutoWeakFrames : * mut root :: AutoWeakFrame , pub mWeakFrames : [ u64 ; 4usize ] , pub mStyleCause : root :: UniqueProfilerBacktrace , pub mReflowCause : root :: UniqueProfilerBacktrace , pub mCanvasBackgroundColor : root :: nscolor , pub mResolution : [ u32 ; 2usize ] , pub mSelectionFlags : i16 , pub mChangeNestCount : u16 , pub mRenderFlags : root :: nsIPresShell_RenderFlags , pub _bitfield_1 : [ u8 ; 2usize ] , pub mPresShellId : u32 , pub mFontSizeInflationEmPerLine : u32 , pub mFontSizeInflationMinTwips : u32 , pub mFontSizeInflationLineThreshold : u32 , pub mFontSizeInflationForceEnabled : bool , pub mFontSizeInflationDisabledInMasterProcess : bool , pub mFontSizeInflationEnabled : bool , pub mFontSizeInflationEnabledIsDirty : bool , pub mPaintingIsFrozen : bool , pub mIsNeverPainting : bool , pub mInFlush : bool , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIPresShell_COMTypeInfo { pub _address : u8 , } pub type nsIPresShell_LayerManager = root :: mozilla :: layers :: LayerManager ; pub type nsIPresShell_SourceSurface = root :: mozilla :: gfx :: SourceSurface ; pub const nsIPresShell_eRenderFlag_STATE_IGNORING_VIEWPORT_SCROLLING : root :: nsIPresShell_eRenderFlag = 1 ; pub const nsIPresShell_eRenderFlag_STATE_DRAWWINDOW_NOT_FLUSHING : root :: nsIPresShell_eRenderFlag = 2 ; pub type nsIPresShell_eRenderFlag = :: std :: os :: raw :: c_uint ; pub type nsIPresShell_RenderFlags = u8 ; pub const nsIPresShell_ResizeReflowOptions_eBSizeExact : root :: nsIPresShell_ResizeReflowOptions = 0 ; pub const nsIPresShell_ResizeReflowOptions_eBSizeLimit : root :: nsIPresShell_ResizeReflowOptions = 1 ; pub type nsIPresShell_ResizeReflowOptions = u32 ; pub const nsIPresShell_ScrollDirection_eHorizontal : root :: nsIPresShell_ScrollDirection = 0 ; pub const nsIPresShell_ScrollDirection_eVertical : root :: nsIPresShell_ScrollDirection = 1 ; pub const nsIPresShell_ScrollDirection_eEither : root :: nsIPresShell_ScrollDirection = 2 ; pub type nsIPresShell_ScrollDirection = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_IntrinsicDirty_eResize : root :: nsIPresShell_IntrinsicDirty = 0 ; pub const nsIPresShell_IntrinsicDirty_eTreeChange : root :: nsIPresShell_IntrinsicDirty = 1 ; pub const nsIPresShell_IntrinsicDirty_eStyleChange : root :: nsIPresShell_IntrinsicDirty = 2 ; pub type nsIPresShell_IntrinsicDirty = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_ReflowRootHandling_ePositionOrSizeChange : root :: nsIPresShell_ReflowRootHandling = 0 ; pub const nsIPresShell_ReflowRootHandling_eNoPositionOrSizeChange : root :: nsIPresShell_ReflowRootHandling = 1 ; pub const nsIPresShell_ReflowRootHandling_eInferFromBitToAdd : root :: nsIPresShell_ReflowRootHandling = 2 ; pub type nsIPresShell_ReflowRootHandling = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_SCROLL_TOP : root :: nsIPresShell__bindgen_ty_1 = 0 ; pub const nsIPresShell_SCROLL_BOTTOM : root :: nsIPresShell__bindgen_ty_1 = 100 ; pub const nsIPresShell_SCROLL_LEFT : root :: nsIPresShell__bindgen_ty_1 = 0 ; pub const nsIPresShell_SCROLL_RIGHT : root :: nsIPresShell__bindgen_ty_1 = 100 ; pub const nsIPresShell_SCROLL_CENTER : root :: nsIPresShell__bindgen_ty_1 = 50 ; pub const nsIPresShell_SCROLL_MINIMUM : root :: nsIPresShell__bindgen_ty_1 = -1 ; pub type nsIPresShell__bindgen_ty_1 = :: std :: os :: raw :: c_int ; pub const nsIPresShell_WhenToScroll_SCROLL_ALWAYS : root :: nsIPresShell_WhenToScroll = 0 ; pub const nsIPresShell_WhenToScroll_SCROLL_IF_NOT_VISIBLE : root :: nsIPresShell_WhenToScroll = 1 ; pub const nsIPresShell_WhenToScroll_SCROLL_IF_NOT_FULLY_VISIBLE : root :: nsIPresShell_WhenToScroll = 2 ; pub type nsIPresShell_WhenToScroll = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIPresShell_ScrollAxis { pub _bindgen_opaque_blob : u32 , } # [ test ] fn bindgen_test_layout_nsIPresShell_ScrollAxis ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIPresShell_ScrollAxis > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nsIPresShell_ScrollAxis ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIPresShell_ScrollAxis > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsIPresShell_ScrollAxis ) ) ) ; } impl Clone for nsIPresShell_ScrollAxis { fn clone ( & self ) -> Self { * self } } pub const nsIPresShell_SCROLL_FIRST_ANCESTOR_ONLY : root :: nsIPresShell__bindgen_ty_2 = 1 ; pub const nsIPresShell_SCROLL_OVERFLOW_HIDDEN : root :: nsIPresShell__bindgen_ty_2 = 2 ; pub const nsIPresShell_SCROLL_NO_PARENT_FRAMES : root :: nsIPresShell__bindgen_ty_2 = 4 ; pub const nsIPresShell_SCROLL_SMOOTH : root :: nsIPresShell__bindgen_ty_2 = 8 ; pub const nsIPresShell_SCROLL_SMOOTH_AUTO : root :: nsIPresShell__bindgen_ty_2 = 16 ; pub type nsIPresShell__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_RENDER_IS_UNTRUSTED : root :: nsIPresShell__bindgen_ty_3 = 1 ; pub const nsIPresShell_RENDER_IGNORE_VIEWPORT_SCROLLING : root :: nsIPresShell__bindgen_ty_3 = 2 ; pub const nsIPresShell_RENDER_CARET : root :: nsIPresShell__bindgen_ty_3 = 4 ; pub const nsIPresShell_RENDER_USE_WIDGET_LAYERS : root :: nsIPresShell__bindgen_ty_3 = 8 ; pub const nsIPresShell_RENDER_ASYNC_DECODE_IMAGES : root :: nsIPresShell__bindgen_ty_3 = 16 ; pub const nsIPresShell_RENDER_DOCUMENT_RELATIVE : root :: nsIPresShell__bindgen_ty_3 = 32 ; pub const nsIPresShell_RENDER_DRAWWINDOW_NOT_FLUSHING : root :: nsIPresShell__bindgen_ty_3 = 64 ; pub type nsIPresShell__bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_RENDER_IS_IMAGE : root :: nsIPresShell__bindgen_ty_4 = 256 ; pub const nsIPresShell_RENDER_AUTO_SCALE : root :: nsIPresShell__bindgen_ty_4 = 128 ; pub type nsIPresShell__bindgen_ty_4 = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_FORCE_DRAW : root :: nsIPresShell__bindgen_ty_5 = 1 ; pub const nsIPresShell_ADD_FOR_SUBDOC : root :: nsIPresShell__bindgen_ty_5 = 2 ; pub const nsIPresShell_APPEND_UNSCROLLED_ONLY : root :: nsIPresShell__bindgen_ty_5 = 4 ; pub type nsIPresShell__bindgen_ty_5 = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_PaintFlags_PAINT_LAYERS : root :: nsIPresShell_PaintFlags = 1 ; pub const nsIPresShell_PaintFlags_PAINT_COMPOSITE : root :: nsIPresShell_PaintFlags = 2 ; pub const nsIPresShell_PaintFlags_PAINT_SYNC_DECODE_IMAGES : root :: nsIPresShell_PaintFlags = 4 ; pub type nsIPresShell_PaintFlags = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_PaintType_PAINT_DEFAULT : root :: nsIPresShell_PaintType = 0 ; pub const nsIPresShell_PaintType_PAINT_DELAYED_COMPRESS : root :: nsIPresShell_PaintType = 1 ; pub type nsIPresShell_PaintType = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}_ZN12nsIPresShell12gCaptureInfoE" ] + # [ link_name = "\u{1}__ZN12nsIPresShell12gCaptureInfoE" ] pub static mut nsIPresShell_gCaptureInfo : root :: CapturingContentInfo ; } extern "C" { - # [ link_name = "\u{1}_ZN12nsIPresShell14gKeyDownTargetE" ] + # [ link_name = "\u{1}__ZN12nsIPresShell14gKeyDownTargetE" ] pub static mut nsIPresShell_gKeyDownTarget : * mut root :: nsIContent ; } # [ test ] fn bindgen_test_layout_nsIPresShell ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIPresShell > ( ) , 5344usize , concat ! ( "Size of: " , stringify ! ( nsIPresShell ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIPresShell > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIPresShell ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mDocument as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mPresContext as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mPresContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mStyleSet as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mStyleSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFrameConstructor as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFrameConstructor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mViewManager as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mViewManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFrameArena as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFrameArena ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mSelection as * const _ as usize } , 5184usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mSelection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFrameManager as * const _ as usize } , 5192usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFrameManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mForwardingContainer as * const _ as usize } , 5200usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mForwardingContainer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mDocAccessible as * const _ as usize } , 5208usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mDocAccessible ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mReflowContinueTimer as * const _ as usize } , 5216usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mReflowContinueTimer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mPaintCount as * const _ as usize } , 5224usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mPaintCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mScrollPositionClampingScrollPortSize as * const _ as usize } , 5232usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mScrollPositionClampingScrollPortSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mAutoWeakFrames as * const _ as usize } , 5240usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mAutoWeakFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mWeakFrames as * const _ as usize } , 5248usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mWeakFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mStyleCause as * const _ as usize } , 5280usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mStyleCause ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mReflowCause as * const _ as usize } , 5288usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mReflowCause ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mCanvasBackgroundColor as * const _ as usize } , 5296usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mCanvasBackgroundColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mResolution as * const _ as usize } , 5300usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mResolution ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mSelectionFlags as * const _ as usize } , 5308usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mSelectionFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mChangeNestCount as * const _ as usize } , 5310usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mChangeNestCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mRenderFlags as * const _ as usize } , 5312usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mRenderFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mPresShellId as * const _ as usize } , 5316usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mPresShellId ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationEmPerLine as * const _ as usize } , 5320usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationEmPerLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationMinTwips as * const _ as usize } , 5324usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationMinTwips ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationLineThreshold as * const _ as usize } , 5328usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationLineThreshold ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationForceEnabled as * const _ as usize } , 5332usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationForceEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationDisabledInMasterProcess as * const _ as usize } , 5333usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationDisabledInMasterProcess ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationEnabled as * const _ as usize } , 5334usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationEnabledIsDirty as * const _ as usize } , 5335usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationEnabledIsDirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mPaintingIsFrozen as * const _ as usize } , 5336usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mPaintingIsFrozen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mIsNeverPainting as * const _ as usize } , 5337usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mIsNeverPainting ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mInFlush as * const _ as usize } , 5338usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mInFlush ) ) ) ; } impl nsIPresShell { # [ inline ] pub fn mDidInitialize ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDidInitialize ( & mut self , val : bool ) { let mask = 0x1 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mIsDestroying ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2 as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsDestroying ( & mut self , val : bool ) { let mask = 0x2 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mIsReflowing ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4 as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsReflowing ( & mut self , val : bool ) { let mask = 0x4 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mPaintingSuppressed ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8 as u16 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mPaintingSuppressed ( & mut self , val : bool ) { let mask = 0x8 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mIsActive ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x10 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsActive ( & mut self , val : bool ) { let mask = 0x10 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mFrozen ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x20 as u16 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mFrozen ( & mut self , val : bool ) { let mask = 0x20 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mIsFirstPaint ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x40 as u16 ; let val = ( unit_field_val & mask ) >> 6usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsFirstPaint ( & mut self , val : bool ) { let mask = 0x40 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 6usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mObservesMutationsForPrint ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x80 as u16 ; let val = ( unit_field_val & mask ) >> 7usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mObservesMutationsForPrint ( & mut self , val : bool ) { let mask = 0x80 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 7usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mWasLastReflowInterrupted ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mWasLastReflowInterrupted ( & mut self , val : bool ) { let mask = 0x100 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mScrollPositionClampingScrollPortSizeSet ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mScrollPositionClampingScrollPortSizeSet ( & mut self , val : bool ) { let mask = 0x200 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mNeedLayoutFlush ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mNeedLayoutFlush ( & mut self , val : bool ) { let mask = 0x400 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mNeedStyleFlush ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mNeedStyleFlush ( & mut self , val : bool ) { let mask = 0x800 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mObservingStyleFlushes ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mObservingStyleFlushes ( & mut self , val : bool ) { let mask = 0x1000 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mObservingLayoutFlushes ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mObservingLayoutFlushes ( & mut self , val : bool ) { let mask = 0x2000 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mNeedThrottledAnimationFlush ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mNeedThrottledAnimationFlush ( & mut self , val : bool ) { let mask = 0x4000 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mDidInitialize : bool , mIsDestroying : bool , mIsReflowing : bool , mPaintingSuppressed : bool , mIsActive : bool , mFrozen : bool , mIsFirstPaint : bool , mObservesMutationsForPrint : bool , mWasLastReflowInterrupted : bool , mScrollPositionClampingScrollPortSizeSet : bool , mNeedLayoutFlush : bool , mNeedStyleFlush : bool , mObservingStyleFlushes : bool , mObservingLayoutFlushes : bool , mNeedThrottledAnimationFlush : bool ) -> u16 { ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 0 | ( ( mDidInitialize as u8 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( mIsDestroying as u8 as u16 ) << 1usize ) & ( 0x2 as u16 ) ) | ( ( mIsReflowing as u8 as u16 ) << 2usize ) & ( 0x4 as u16 ) ) | ( ( mPaintingSuppressed as u8 as u16 ) << 3usize ) & ( 0x8 as u16 ) ) | ( ( mIsActive as u8 as u16 ) << 4usize ) & ( 0x10 as u16 ) ) | ( ( mFrozen as u8 as u16 ) << 5usize ) & ( 0x20 as u16 ) ) | ( ( mIsFirstPaint as u8 as u16 ) << 6usize ) & ( 0x40 as u16 ) ) | ( ( mObservesMutationsForPrint as u8 as u16 ) << 7usize ) & ( 0x80 as u16 ) ) | ( ( mWasLastReflowInterrupted as u8 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( mScrollPositionClampingScrollPortSizeSet as u8 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( mNeedLayoutFlush as u8 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( mNeedStyleFlush as u8 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( mObservingStyleFlushes as u8 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( mObservingLayoutFlushes as u8 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( mNeedThrottledAnimationFlush as u8 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) } } /// The signature of the timer callback function passed to initWithFuncCallback. @@ -870,583 +873,583 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsIDocument_ExternalResourceLoad { pub _base : root :: nsISupports , pub mObservers : [ u64 ; 10usize ] , } # [ test ] fn bindgen_test_layout_nsIDocument_ExternalResourceLoad ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDocument_ExternalResourceLoad > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( nsIDocument_ExternalResourceLoad ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDocument_ExternalResourceLoad > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDocument_ExternalResourceLoad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIDocument_ExternalResourceLoad ) ) . mObservers as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsIDocument_ExternalResourceLoad ) , "::" , stringify ! ( mObservers ) ) ) ; } pub type nsIDocument_ActivityObserverEnumerator = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut root :: nsISupports , arg2 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsIDocument_DocumentTheme { Doc_Theme_Uninitialized = 0 , Doc_Theme_None = 1 , Doc_Theme_Neutral = 2 , Doc_Theme_Dark = 3 , Doc_Theme_Bright = 4 , } pub type nsIDocument_FrameRequestCallbackList = root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: FrameRequestCallback > > ; pub const nsIDocument_DeprecatedOperations_eEnablePrivilege : root :: nsIDocument_DeprecatedOperations = 0 ; pub const nsIDocument_DeprecatedOperations_eDOMExceptionCode : root :: nsIDocument_DeprecatedOperations = 1 ; pub const nsIDocument_DeprecatedOperations_eMutationEvent : root :: nsIDocument_DeprecatedOperations = 2 ; pub const nsIDocument_DeprecatedOperations_eComponents : root :: nsIDocument_DeprecatedOperations = 3 ; pub const nsIDocument_DeprecatedOperations_ePrefixedVisibilityAPI : root :: nsIDocument_DeprecatedOperations = 4 ; pub const nsIDocument_DeprecatedOperations_eNodeIteratorDetach : root :: nsIDocument_DeprecatedOperations = 5 ; pub const nsIDocument_DeprecatedOperations_eLenientThis : root :: nsIDocument_DeprecatedOperations = 6 ; pub const nsIDocument_DeprecatedOperations_eGetPreventDefault : root :: nsIDocument_DeprecatedOperations = 7 ; pub const nsIDocument_DeprecatedOperations_eGetSetUserData : root :: nsIDocument_DeprecatedOperations = 8 ; pub const nsIDocument_DeprecatedOperations_eMozGetAsFile : root :: nsIDocument_DeprecatedOperations = 9 ; pub const nsIDocument_DeprecatedOperations_eUseOfCaptureEvents : root :: nsIDocument_DeprecatedOperations = 10 ; pub const nsIDocument_DeprecatedOperations_eUseOfReleaseEvents : root :: nsIDocument_DeprecatedOperations = 11 ; pub const nsIDocument_DeprecatedOperations_eUseOfDOM3LoadMethod : root :: nsIDocument_DeprecatedOperations = 12 ; pub const nsIDocument_DeprecatedOperations_eChromeUseOfDOM3LoadMethod : root :: nsIDocument_DeprecatedOperations = 13 ; pub const nsIDocument_DeprecatedOperations_eShowModalDialog : root :: nsIDocument_DeprecatedOperations = 14 ; pub const nsIDocument_DeprecatedOperations_eSyncXMLHttpRequest : root :: nsIDocument_DeprecatedOperations = 15 ; pub const nsIDocument_DeprecatedOperations_eWindow_Cc_ontrollers : root :: nsIDocument_DeprecatedOperations = 16 ; pub const nsIDocument_DeprecatedOperations_eImportXULIntoContent : root :: nsIDocument_DeprecatedOperations = 17 ; pub const nsIDocument_DeprecatedOperations_ePannerNodeDoppler : root :: nsIDocument_DeprecatedOperations = 18 ; pub const nsIDocument_DeprecatedOperations_eNavigatorGetUserMedia : root :: nsIDocument_DeprecatedOperations = 19 ; pub const nsIDocument_DeprecatedOperations_eWebrtcDeprecatedPrefix : root :: nsIDocument_DeprecatedOperations = 20 ; pub const nsIDocument_DeprecatedOperations_eRTCPeerConnectionGetStreams : root :: nsIDocument_DeprecatedOperations = 21 ; pub const nsIDocument_DeprecatedOperations_eAppCache : root :: nsIDocument_DeprecatedOperations = 22 ; pub const nsIDocument_DeprecatedOperations_ePrefixedImageSmoothingEnabled : root :: nsIDocument_DeprecatedOperations = 23 ; pub const nsIDocument_DeprecatedOperations_ePrefixedFullscreenAPI : root :: nsIDocument_DeprecatedOperations = 24 ; pub const nsIDocument_DeprecatedOperations_eLenientSetter : root :: nsIDocument_DeprecatedOperations = 25 ; pub const nsIDocument_DeprecatedOperations_eFileLastModifiedDate : root :: nsIDocument_DeprecatedOperations = 26 ; pub const nsIDocument_DeprecatedOperations_eImageBitmapRenderingContext_TransferImageBitmap : root :: nsIDocument_DeprecatedOperations = 27 ; pub const nsIDocument_DeprecatedOperations_eURLCreateObjectURL_MediaStream : root :: nsIDocument_DeprecatedOperations = 28 ; pub const nsIDocument_DeprecatedOperations_eXMLBaseAttribute : root :: nsIDocument_DeprecatedOperations = 29 ; pub const nsIDocument_DeprecatedOperations_eWindowContentUntrusted : root :: nsIDocument_DeprecatedOperations = 30 ; pub const nsIDocument_DeprecatedOperations_eDeprecatedOperationCount : root :: nsIDocument_DeprecatedOperations = 31 ; pub type nsIDocument_DeprecatedOperations = :: std :: os :: raw :: c_uint ; pub const nsIDocument_DocumentWarnings_eIgnoringWillChangeOverBudget : root :: nsIDocument_DocumentWarnings = 0 ; pub const nsIDocument_DocumentWarnings_ePreventDefaultFromPassiveListener : root :: nsIDocument_DocumentWarnings = 1 ; pub const nsIDocument_DocumentWarnings_eSVGRefLoop : root :: nsIDocument_DocumentWarnings = 2 ; pub const nsIDocument_DocumentWarnings_eSVGRefChainLengthExceeded : root :: nsIDocument_DocumentWarnings = 3 ; pub const nsIDocument_DocumentWarnings_eDocumentWarningCount : root :: nsIDocument_DocumentWarnings = 4 ; pub type nsIDocument_DocumentWarnings = :: std :: os :: raw :: c_uint ; pub const nsIDocument_ElementCallbackType_eConnected : root :: nsIDocument_ElementCallbackType = 0 ; pub const nsIDocument_ElementCallbackType_eDisconnected : root :: nsIDocument_ElementCallbackType = 1 ; pub const nsIDocument_ElementCallbackType_eAdopted : root :: nsIDocument_ElementCallbackType = 2 ; pub const nsIDocument_ElementCallbackType_eAttributeChanged : root :: nsIDocument_ElementCallbackType = 3 ; pub type nsIDocument_ElementCallbackType = :: std :: os :: raw :: c_uint ; pub const nsIDocument_eScopedStyle_Unknown : root :: nsIDocument__bindgen_ty_1 = 0 ; pub const nsIDocument_eScopedStyle_Disabled : root :: nsIDocument__bindgen_ty_1 = 1 ; pub const nsIDocument_eScopedStyle_Enabled : root :: nsIDocument__bindgen_ty_1 = 2 ; pub type nsIDocument__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsIDocument_Type { eUnknown = 0 , eHTML = 1 , eXHTML = 2 , eGenericXML = 3 , eSVG = 4 , eXUL = 5 , } pub const nsIDocument_Tri_eTriUnset : root :: nsIDocument_Tri = 0 ; pub const nsIDocument_Tri_eTriFalse : root :: nsIDocument_Tri = 1 ; pub const nsIDocument_Tri_eTriTrue : root :: nsIDocument_Tri = 2 ; pub type nsIDocument_Tri = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDocument_FrameRequest { _unused : [ u8 ; 0 ] } pub const nsIDocument_kSegmentSize : usize = 128 ; # [ test ] fn bindgen_test_layout_nsIDocument ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDocument > ( ) , 896usize , concat ! ( "Size of: " , stringify ! ( nsIDocument ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDocument > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDocument ) ) ) ; } impl nsIDocument { # [ inline ] pub fn mBidiEnabled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1 as u64 ; 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 = 0x1 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mMathMLEnabled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2 as u64 ; 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 = 0x2 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsInitialDocumentInWindow ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4 as u64 ; 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 = 0x4 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIgnoreDocGroupMismatches ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8 as u64 ; 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 = 0x8 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mLoadedAsData ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10 as u64 ; 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 = 0x10 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mLoadedAsInteractiveData ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20 as u64 ; 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 = 0x20 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mMayStartLayout ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40 as u64 ; 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 = 0x40 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 6usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHaveFiredTitleChange ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80 as u64 ; 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 = 0x80 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 7usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsShowing ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100 as u64 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsShowing ( & mut self , val : bool ) { let mask = 0x100 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mVisible ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200 as u64 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mVisible ( & mut self , val : bool ) { let mask = 0x200 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasReferrerPolicyCSP ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400 as u64 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasReferrerPolicyCSP ( & mut self , val : bool ) { let mask = 0x400 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mRemovedFromDocShell ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800 as u64 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mRemovedFromDocShell ( & mut self , val : bool ) { let mask = 0x800 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mAllowDNSPrefetch ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000 as u64 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mAllowDNSPrefetch ( & mut self , val : bool ) { let mask = 0x1000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsStaticDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000 as u64 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsStaticDocument ( & mut self , val : bool ) { let mask = 0x2000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mCreatingStaticClone ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000 as u64 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mCreatingStaticClone ( & mut self , val : bool ) { let mask = 0x4000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mInUnlinkOrDeletion ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000 as u64 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mInUnlinkOrDeletion ( & mut self , val : bool ) { let mask = 0x8000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasHadScriptHandlingObject ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000 as u64 ; let val = ( unit_field_val & mask ) >> 16usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasHadScriptHandlingObject ( & mut self , val : bool ) { let mask = 0x10000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 16usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsBeingUsedAsImage ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000 as u64 ; let val = ( unit_field_val & mask ) >> 17usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsBeingUsedAsImage ( & mut self , val : bool ) { let mask = 0x20000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 17usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsSyntheticDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000 as u64 ; let val = ( unit_field_val & mask ) >> 18usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsSyntheticDocument ( & mut self , val : bool ) { let mask = 0x40000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 18usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasLinksToUpdate ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80000 as u64 ; let val = ( unit_field_val & mask ) >> 19usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasLinksToUpdate ( & mut self , val : bool ) { let mask = 0x80000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 19usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasLinksToUpdateRunnable ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100000 as u64 ; let val = ( unit_field_val & mask ) >> 20usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasLinksToUpdateRunnable ( & mut self , val : bool ) { let mask = 0x100000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 20usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mMayHaveDOMMutationObservers ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000 as u64 ; let val = ( unit_field_val & mask ) >> 21usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mMayHaveDOMMutationObservers ( & mut self , val : bool ) { let mask = 0x200000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 21usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mMayHaveAnimationObservers ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000 as u64 ; let val = ( unit_field_val & mask ) >> 22usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mMayHaveAnimationObservers ( & mut self , val : bool ) { let mask = 0x400000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 22usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasMixedActiveContentLoaded ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800000 as u64 ; let val = ( unit_field_val & mask ) >> 23usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasMixedActiveContentLoaded ( & mut self , val : bool ) { let mask = 0x800000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 23usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasMixedActiveContentBlocked ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000000 as u64 ; let val = ( unit_field_val & mask ) >> 24usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasMixedActiveContentBlocked ( & mut self , val : bool ) { let mask = 0x1000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 24usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasMixedDisplayContentLoaded ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000000 as u64 ; let val = ( unit_field_val & mask ) >> 25usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasMixedDisplayContentLoaded ( & mut self , val : bool ) { let mask = 0x2000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 25usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasMixedDisplayContentBlocked ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000000 as u64 ; let val = ( unit_field_val & mask ) >> 26usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasMixedDisplayContentBlocked ( & mut self , val : bool ) { let mask = 0x4000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 26usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasMixedContentObjectSubrequest ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000000 as u64 ; let val = ( unit_field_val & mask ) >> 27usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasMixedContentObjectSubrequest ( & mut self , val : bool ) { let mask = 0x8000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 27usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasCSP ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000000 as u64 ; let val = ( unit_field_val & mask ) >> 28usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasCSP ( & mut self , val : bool ) { let mask = 0x10000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 28usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasUnsafeEvalCSP ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000000 as u64 ; let val = ( unit_field_val & mask ) >> 29usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasUnsafeEvalCSP ( & mut self , val : bool ) { let mask = 0x20000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 29usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasUnsafeInlineCSP ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000000 as u64 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasUnsafeInlineCSP ( & mut self , val : bool ) { let mask = 0x40000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasTrackingContentBlocked ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80000000 as u64 ; let val = ( unit_field_val & mask ) >> 31usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasTrackingContentBlocked ( & mut self , val : bool ) { let mask = 0x80000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 31usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasTrackingContentLoaded ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100000000 as u64 ; let val = ( unit_field_val & mask ) >> 32usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasTrackingContentLoaded ( & mut self , val : bool ) { let mask = 0x100000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 32usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mBFCacheDisallowed ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000000 as u64 ; let val = ( unit_field_val & mask ) >> 33usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mBFCacheDisallowed ( & mut self , val : bool ) { let mask = 0x200000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 33usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasHadDefaultView ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000000 as u64 ; let val = ( unit_field_val & mask ) >> 34usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasHadDefaultView ( & mut self , val : bool ) { let mask = 0x400000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 34usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mStyleSheetChangeEventsEnabled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800000000 as u64 ; let val = ( unit_field_val & mask ) >> 35usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mStyleSheetChangeEventsEnabled ( & mut self , val : bool ) { let mask = 0x800000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 35usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsSrcdocDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000000000 as u64 ; let val = ( unit_field_val & mask ) >> 36usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsSrcdocDocument ( & mut self , val : bool ) { let mask = 0x1000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 36usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDidDocumentOpen ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000000000 as u64 ; let val = ( unit_field_val & mask ) >> 37usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDidDocumentOpen ( & mut self , val : bool ) { let mask = 0x2000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 37usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasDisplayDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000000000 as u64 ; let val = ( unit_field_val & mask ) >> 38usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasDisplayDocument ( & mut self , val : bool ) { let mask = 0x4000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 38usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFontFaceSetDirty ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000000000 as u64 ; let val = ( unit_field_val & mask ) >> 39usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mFontFaceSetDirty ( & mut self , val : bool ) { let mask = 0x8000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 39usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mGetUserFontSetCalled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000000000 as u64 ; let val = ( unit_field_val & mask ) >> 40usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mGetUserFontSetCalled ( & mut self , val : bool ) { let mask = 0x10000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 40usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPostedFlushUserFontSet ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000000000 as u64 ; let val = ( unit_field_val & mask ) >> 41usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mPostedFlushUserFontSet ( & mut self , val : bool ) { let mask = 0x20000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 41usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDidFireDOMContentLoaded ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000000000 as u64 ; let val = ( unit_field_val & mask ) >> 42usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDidFireDOMContentLoaded ( & mut self , val : bool ) { let mask = 0x40000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 42usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasScrollLinkedEffect ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80000000000 as u64 ; let val = ( unit_field_val & mask ) >> 43usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasScrollLinkedEffect ( & mut self , val : bool ) { let mask = 0x80000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 43usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFrameRequestCallbacksScheduled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100000000000 as u64 ; let val = ( unit_field_val & mask ) >> 44usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mFrameRequestCallbacksScheduled ( & mut self , val : bool ) { let mask = 0x100000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 44usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsTopLevelContentDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000000000 as u64 ; let val = ( unit_field_val & mask ) >> 45usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsTopLevelContentDocument ( & mut self , val : bool ) { let mask = 0x200000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 45usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsContentDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000000000 as u64 ; let val = ( unit_field_val & mask ) >> 46usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsContentDocument ( & mut self , val : bool ) { let mask = 0x400000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 46usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDidCallBeginLoad ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800000000000 as u64 ; let val = ( unit_field_val & mask ) >> 47usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDidCallBeginLoad ( & mut self , val : bool ) { let mask = 0x800000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 47usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mBufferingCSPViolations ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000000000000 as u64 ; let val = ( unit_field_val & mask ) >> 48usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mBufferingCSPViolations ( & mut self , val : bool ) { let mask = 0x1000000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 48usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mAllowPaymentRequest ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000000000000 as u64 ; let val = ( unit_field_val & mask ) >> 49usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mAllowPaymentRequest ( & mut self , val : bool ) { let mask = 0x2000000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 49usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mEncodingMenuDisabled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000000000000 as u64 ; let val = ( unit_field_val & mask ) >> 50usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mEncodingMenuDisabled ( & mut self , val : bool ) { let mask = 0x4000000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 50usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsScopedStyleEnabled ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x18000000000000 as u64 ; let val = ( unit_field_val & mask ) >> 51usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsScopedStyleEnabled ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x18000000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 51usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mBidiEnabled : bool , mMathMLEnabled : bool , mIsInitialDocumentInWindow : bool , mIgnoreDocGroupMismatches : bool , mLoadedAsData : bool , mLoadedAsInteractiveData : bool , mMayStartLayout : bool , mHaveFiredTitleChange : bool , mIsShowing : bool , mVisible : bool , mHasReferrerPolicyCSP : bool , mRemovedFromDocShell : bool , mAllowDNSPrefetch : bool , mIsStaticDocument : bool , mCreatingStaticClone : bool , mInUnlinkOrDeletion : bool , mHasHadScriptHandlingObject : bool , mIsBeingUsedAsImage : bool , mIsSyntheticDocument : bool , mHasLinksToUpdate : bool , mHasLinksToUpdateRunnable : bool , mMayHaveDOMMutationObservers : bool , mMayHaveAnimationObservers : bool , mHasMixedActiveContentLoaded : bool , mHasMixedActiveContentBlocked : bool , mHasMixedDisplayContentLoaded : bool , mHasMixedDisplayContentBlocked : bool , mHasMixedContentObjectSubrequest : bool , mHasCSP : bool , mHasUnsafeEvalCSP : bool , mHasUnsafeInlineCSP : bool , mHasTrackingContentBlocked : bool , mHasTrackingContentLoaded : bool , mBFCacheDisallowed : bool , mHasHadDefaultView : bool , mStyleSheetChangeEventsEnabled : bool , mIsSrcdocDocument : bool , mDidDocumentOpen : bool , mHasDisplayDocument : bool , mFontFaceSetDirty : bool , mGetUserFontSetCalled : bool , mPostedFlushUserFontSet : bool , mDidFireDOMContentLoaded : bool , mHasScrollLinkedEffect : bool , mFrameRequestCallbacksScheduled : bool , mIsTopLevelContentDocument : bool , mIsContentDocument : bool , mDidCallBeginLoad : bool , mBufferingCSPViolations : bool , mAllowPaymentRequest : bool , mEncodingMenuDisabled : bool , mIsScopedStyleEnabled : :: std :: os :: raw :: c_uint ) -> u64 { ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 0 | ( ( mBidiEnabled as u8 as u64 ) << 0usize ) & ( 0x1 as u64 ) ) | ( ( mMathMLEnabled as u8 as u64 ) << 1usize ) & ( 0x2 as u64 ) ) | ( ( mIsInitialDocumentInWindow as u8 as u64 ) << 2usize ) & ( 0x4 as u64 ) ) | ( ( mIgnoreDocGroupMismatches as u8 as u64 ) << 3usize ) & ( 0x8 as u64 ) ) | ( ( mLoadedAsData as u8 as u64 ) << 4usize ) & ( 0x10 as u64 ) ) | ( ( mLoadedAsInteractiveData as u8 as u64 ) << 5usize ) & ( 0x20 as u64 ) ) | ( ( mMayStartLayout as u8 as u64 ) << 6usize ) & ( 0x40 as u64 ) ) | ( ( mHaveFiredTitleChange as u8 as u64 ) << 7usize ) & ( 0x80 as u64 ) ) | ( ( mIsShowing as u8 as u64 ) << 8usize ) & ( 0x100 as u64 ) ) | ( ( mVisible as u8 as u64 ) << 9usize ) & ( 0x200 as u64 ) ) | ( ( mHasReferrerPolicyCSP as u8 as u64 ) << 10usize ) & ( 0x400 as u64 ) ) | ( ( mRemovedFromDocShell as u8 as u64 ) << 11usize ) & ( 0x800 as u64 ) ) | ( ( mAllowDNSPrefetch as u8 as u64 ) << 12usize ) & ( 0x1000 as u64 ) ) | ( ( mIsStaticDocument as u8 as u64 ) << 13usize ) & ( 0x2000 as u64 ) ) | ( ( mCreatingStaticClone as u8 as u64 ) << 14usize ) & ( 0x4000 as u64 ) ) | ( ( mInUnlinkOrDeletion as u8 as u64 ) << 15usize ) & ( 0x8000 as u64 ) ) | ( ( mHasHadScriptHandlingObject as u8 as u64 ) << 16usize ) & ( 0x10000 as u64 ) ) | ( ( mIsBeingUsedAsImage as u8 as u64 ) << 17usize ) & ( 0x20000 as u64 ) ) | ( ( mIsSyntheticDocument as u8 as u64 ) << 18usize ) & ( 0x40000 as u64 ) ) | ( ( mHasLinksToUpdate as u8 as u64 ) << 19usize ) & ( 0x80000 as u64 ) ) | ( ( mHasLinksToUpdateRunnable as u8 as u64 ) << 20usize ) & ( 0x100000 as u64 ) ) | ( ( mMayHaveDOMMutationObservers as u8 as u64 ) << 21usize ) & ( 0x200000 as u64 ) ) | ( ( mMayHaveAnimationObservers as u8 as u64 ) << 22usize ) & ( 0x400000 as u64 ) ) | ( ( mHasMixedActiveContentLoaded as u8 as u64 ) << 23usize ) & ( 0x800000 as u64 ) ) | ( ( mHasMixedActiveContentBlocked as u8 as u64 ) << 24usize ) & ( 0x1000000 as u64 ) ) | ( ( mHasMixedDisplayContentLoaded as u8 as u64 ) << 25usize ) & ( 0x2000000 as u64 ) ) | ( ( mHasMixedDisplayContentBlocked as u8 as u64 ) << 26usize ) & ( 0x4000000 as u64 ) ) | ( ( mHasMixedContentObjectSubrequest as u8 as u64 ) << 27usize ) & ( 0x8000000 as u64 ) ) | ( ( mHasCSP as u8 as u64 ) << 28usize ) & ( 0x10000000 as u64 ) ) | ( ( mHasUnsafeEvalCSP as u8 as u64 ) << 29usize ) & ( 0x20000000 as u64 ) ) | ( ( mHasUnsafeInlineCSP as u8 as u64 ) << 30usize ) & ( 0x40000000 as u64 ) ) | ( ( mHasTrackingContentBlocked as u8 as u64 ) << 31usize ) & ( 0x80000000 as u64 ) ) | ( ( mHasTrackingContentLoaded as u8 as u64 ) << 32usize ) & ( 0x100000000 as u64 ) ) | ( ( mBFCacheDisallowed as u8 as u64 ) << 33usize ) & ( 0x200000000 as u64 ) ) | ( ( mHasHadDefaultView as u8 as u64 ) << 34usize ) & ( 0x400000000 as u64 ) ) | ( ( mStyleSheetChangeEventsEnabled as u8 as u64 ) << 35usize ) & ( 0x800000000 as u64 ) ) | ( ( mIsSrcdocDocument as u8 as u64 ) << 36usize ) & ( 0x1000000000 as u64 ) ) | ( ( mDidDocumentOpen as u8 as u64 ) << 37usize ) & ( 0x2000000000 as u64 ) ) | ( ( mHasDisplayDocument as u8 as u64 ) << 38usize ) & ( 0x4000000000 as u64 ) ) | ( ( mFontFaceSetDirty as u8 as u64 ) << 39usize ) & ( 0x8000000000 as u64 ) ) | ( ( mGetUserFontSetCalled as u8 as u64 ) << 40usize ) & ( 0x10000000000 as u64 ) ) | ( ( mPostedFlushUserFontSet as u8 as u64 ) << 41usize ) & ( 0x20000000000 as u64 ) ) | ( ( mDidFireDOMContentLoaded as u8 as u64 ) << 42usize ) & ( 0x40000000000 as u64 ) ) | ( ( mHasScrollLinkedEffect as u8 as u64 ) << 43usize ) & ( 0x80000000000 as u64 ) ) | ( ( mFrameRequestCallbacksScheduled as u8 as u64 ) << 44usize ) & ( 0x100000000000 as u64 ) ) | ( ( mIsTopLevelContentDocument as u8 as u64 ) << 45usize ) & ( 0x200000000000 as u64 ) ) | ( ( mIsContentDocument as u8 as u64 ) << 46usize ) & ( 0x400000000000 as u64 ) ) | ( ( mDidCallBeginLoad as u8 as u64 ) << 47usize ) & ( 0x800000000000 as u64 ) ) | ( ( mBufferingCSPViolations as u8 as u64 ) << 48usize ) & ( 0x1000000000000 as u64 ) ) | ( ( mAllowPaymentRequest as u8 as u64 ) << 49usize ) & ( 0x2000000000000 as u64 ) ) | ( ( mEncodingMenuDisabled as u8 as u64 ) << 50usize ) & ( 0x4000000000000 as u64 ) ) | ( ( mIsScopedStyleEnabled as u32 as u64 ) << 51usize ) & ( 0x18000000000000 as u64 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsBidi { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIPrintSettings { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsITheme { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gfxTextPerfMetrics { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsTransitionManager { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsAnimationManager { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsDeviceContext { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gfxMissingFontRecorder { _unused : [ u8 ; 0 ] } pub const kPresContext_DefaultVariableFont_ID : u8 = 0 ; pub const kPresContext_DefaultFixedFont_ID : u8 = 1 ; # [ repr ( C ) ] pub struct nsPresContext { pub _base : root :: nsISupports , pub _base_1 : u64 , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mType : root :: nsPresContext_nsPresContextType , pub mShell : * mut root :: nsIPresShell , pub mDocument : root :: nsCOMPtr , pub mDeviceContext : root :: RefPtr < root :: nsDeviceContext > , pub mEventManager : root :: RefPtr < root :: mozilla :: EventStateManager > , pub mRefreshDriver : root :: RefPtr < root :: nsRefreshDriver > , pub mEffectCompositor : root :: RefPtr < root :: mozilla :: EffectCompositor > , pub mTransitionManager : root :: RefPtr < root :: nsTransitionManager > , pub mAnimationManager : root :: RefPtr < root :: nsAnimationManager > , pub mRestyleManager : root :: RefPtr < root :: mozilla :: RestyleManager > , pub mCounterStyleManager : root :: RefPtr < root :: mozilla :: CounterStyleManager > , pub mMedium : * mut root :: nsAtom , pub mMediaEmulated : root :: RefPtr < root :: nsAtom > , pub mFontFeatureValuesLookup : root :: RefPtr < root :: gfxFontFeatureValueSet > , pub mLinkHandler : * mut root :: nsILinkHandler , pub mLanguage : root :: RefPtr < root :: nsAtom > , pub mInflationDisabledForShrinkWrap : bool , pub mContainer : u64 , pub mBaseMinFontSize : i32 , pub mSystemFontScale : f32 , pub mTextZoom : f32 , pub mEffectiveTextZoom : f32 , pub mFullZoom : f32 , pub mOverrideDPPX : f32 , pub mLastFontInflationScreenSize : root :: gfxSize , pub mCurAppUnitsPerDevPixel : i32 , pub mAutoQualityMinFontSizePixelsPref : i32 , pub mTheme : root :: nsCOMPtr , pub mLangService : * mut root :: nsLanguageAtomService , pub mPrintSettings : root :: nsCOMPtr , pub mPrefChangedTimer : root :: nsCOMPtr , pub mBidiEngine : root :: mozilla :: UniquePtr < root :: nsBidi > , pub mTransactions : [ u64 ; 10usize ] , pub mTextPerf : root :: nsAutoPtr < root :: gfxTextPerfMetrics > , pub mMissingFonts : root :: nsAutoPtr < root :: gfxMissingFontRecorder > , pub mVisibleArea : root :: nsRect , pub mLastResizeEventVisibleArea : root :: nsRect , pub mPageSize : root :: nsSize , pub mPageScale : f32 , pub mPPScale : f32 , pub mDefaultColor : root :: nscolor , pub mBackgroundColor : root :: nscolor , pub mLinkColor : root :: nscolor , pub mActiveLinkColor : root :: nscolor , pub mVisitedLinkColor : root :: nscolor , pub mFocusBackgroundColor : root :: nscolor , pub mFocusTextColor : root :: nscolor , pub mBodyTextColor : root :: nscolor , pub mViewportScrollbarOverrideElement : * mut root :: mozilla :: dom :: Element , pub mViewportStyleScrollbar : root :: nsPresContext_ScrollbarStyles , pub mFocusRingWidth : u8 , pub mExistThrottledUpdates : bool , pub mImageAnimationMode : u16 , pub mImageAnimationModePref : u16 , pub mLangGroupFontPrefs : root :: nsPresContext_LangGroupFontPrefs , pub mFontGroupCacheDirty : bool , pub mLanguagesUsed : [ u64 ; 4usize ] , pub mBorderWidthTable : [ root :: nscoord ; 3usize ] , pub mInterruptChecksToSkip : u32 , pub mElementsRestyled : u64 , pub mFramesConstructed : u64 , pub mFramesReflowed : u64 , pub mReflowStartTime : root :: mozilla :: TimeStamp , pub mFirstNonBlankPaintTime : root :: mozilla :: TimeStamp , pub mFirstClickTime : root :: mozilla :: TimeStamp , pub mFirstKeyTime : root :: mozilla :: TimeStamp , pub mFirstMouseMoveTime : root :: mozilla :: TimeStamp , pub mFirstScrollTime : root :: mozilla :: TimeStamp , pub mInteractionTimeEnabled : bool , pub mLastStyleUpdateForAllAnimations : root :: mozilla :: TimeStamp , pub mTelemetryScrollLastY : root :: nscoord , pub mTelemetryScrollMaxY : root :: nscoord , pub mTelemetryScrollTotalY : root :: nscoord , pub _bitfield_1 : [ u8 ; 6usize ] , pub __bindgen_padding_0 : [ u16 ; 3usize ] , } pub type nsPresContext_Encoding = root :: mozilla :: Encoding ; pub type nsPresContext_NotNull < T > = root :: mozilla :: NotNull < T > ; pub type nsPresContext_LangGroupFontPrefs = root :: mozilla :: LangGroupFontPrefs ; pub type nsPresContext_ScrollbarStyles = root :: mozilla :: ScrollbarStyles ; pub type nsPresContext_StaticPresData = root :: mozilla :: StaticPresData ; pub type nsPresContext_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsPresContext_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_nsPresContext_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPresContext_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsPresContext_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPresContext_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPresContext_cycleCollection ) ) ) ; } impl Clone for nsPresContext_cycleCollection { fn clone ( & self ) -> Self { * self } } pub const nsPresContext_nsPresContextType_eContext_Galley : root :: nsPresContext_nsPresContextType = 0 ; pub const nsPresContext_nsPresContextType_eContext_PrintPreview : root :: nsPresContext_nsPresContextType = 1 ; pub const nsPresContext_nsPresContextType_eContext_Print : root :: nsPresContext_nsPresContextType = 2 ; pub const nsPresContext_nsPresContextType_eContext_PageLayout : root :: nsPresContext_nsPresContextType = 3 ; pub type nsPresContext_nsPresContextType = :: std :: os :: raw :: c_uint ; pub const nsPresContext_InteractionType_eClickInteraction : root :: nsPresContext_InteractionType = 0 ; pub const nsPresContext_InteractionType_eKeyInteraction : root :: nsPresContext_InteractionType = 1 ; pub const nsPresContext_InteractionType_eMouseMoveInteraction : root :: nsPresContext_InteractionType = 2 ; pub const nsPresContext_InteractionType_eScrollInteraction : root :: nsPresContext_InteractionType = 3 ; pub type nsPresContext_InteractionType = u32 ; /// A class that can be used to temporarily disable reflow interruption. # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsPresContext_InterruptPreventer { pub mCtx : * mut root :: nsPresContext , pub mInterruptsEnabled : bool , pub mHasPendingInterrupt : bool , } # [ test ] fn bindgen_test_layout_nsPresContext_InterruptPreventer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPresContext_InterruptPreventer > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsPresContext_InterruptPreventer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPresContext_InterruptPreventer > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPresContext_InterruptPreventer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) . mCtx as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext_InterruptPreventer ) , "::" , stringify ! ( mCtx ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) . mInterruptsEnabled as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext_InterruptPreventer ) , "::" , stringify ! ( mInterruptsEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) . mHasPendingInterrupt as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext_InterruptPreventer ) , "::" , stringify ! ( mHasPendingInterrupt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsPresContext_TransactionInvalidations { pub mTransactionId : u64 , pub mInvalidations : root :: nsTArray < root :: nsRect > , } # [ test ] fn bindgen_test_layout_nsPresContext_TransactionInvalidations ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPresContext_TransactionInvalidations > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsPresContext_TransactionInvalidations ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPresContext_TransactionInvalidations > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPresContext_TransactionInvalidations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext_TransactionInvalidations ) ) . mTransactionId as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext_TransactionInvalidations ) , "::" , stringify ! ( mTransactionId ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext_TransactionInvalidations ) ) . mInvalidations as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext_TransactionInvalidations ) , "::" , stringify ! ( mInvalidations ) ) ) ; } extern "C" { - # [ link_name = "\u{1}_ZN13nsPresContext21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN13nsPresContext21_cycleCollectorGlobalE" ] pub static mut nsPresContext__cycleCollectorGlobal : root :: nsPresContext_cycleCollection ; } # [ test ] fn bindgen_test_layout_nsPresContext ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPresContext > ( ) , 1376usize , concat ! ( "Size of: " , stringify ! ( nsPresContext ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPresContext > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPresContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mRefCnt as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mType as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mShell as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mShell ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mDocument as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mDeviceContext as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mDeviceContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mEventManager as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mEventManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mRefreshDriver as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mRefreshDriver ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mEffectCompositor as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mEffectCompositor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTransitionManager as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTransitionManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mAnimationManager as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mAnimationManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mRestyleManager as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mRestyleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mCounterStyleManager as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mCounterStyleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mMedium as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mMedium ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mMediaEmulated as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mMediaEmulated ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFontFeatureValuesLookup as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFontFeatureValuesLookup ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLinkHandler as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLinkHandler ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLanguage as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLanguage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mInflationDisabledForShrinkWrap as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInflationDisabledForShrinkWrap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mContainer as * const _ as usize } , 160usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mContainer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBaseMinFontSize as * const _ as usize } , 168usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBaseMinFontSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mSystemFontScale as * const _ as usize } , 172usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mSystemFontScale ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTextZoom as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTextZoom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mEffectiveTextZoom as * const _ as usize } , 180usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mEffectiveTextZoom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFullZoom as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFullZoom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mOverrideDPPX as * const _ as usize } , 188usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mOverrideDPPX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLastFontInflationScreenSize as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLastFontInflationScreenSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mCurAppUnitsPerDevPixel as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mCurAppUnitsPerDevPixel ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mAutoQualityMinFontSizePixelsPref as * const _ as usize } , 212usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mAutoQualityMinFontSizePixelsPref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTheme as * const _ as usize } , 216usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTheme ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLangService as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLangService ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mPrintSettings as * const _ as usize } , 232usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mPrintSettings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mPrefChangedTimer as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mPrefChangedTimer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBidiEngine as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBidiEngine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTransactions as * const _ as usize } , 256usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTransactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTextPerf as * const _ as usize } , 336usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTextPerf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mMissingFonts as * const _ as usize } , 344usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mMissingFonts ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mVisibleArea as * const _ as usize } , 352usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mVisibleArea ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLastResizeEventVisibleArea as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLastResizeEventVisibleArea ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mPageSize as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mPageSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mPageScale as * const _ as usize } , 392usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mPageScale ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mPPScale as * const _ as usize } , 396usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mPPScale ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mDefaultColor as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mDefaultColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBackgroundColor as * const _ as usize } , 404usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBackgroundColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLinkColor as * const _ as usize } , 408usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLinkColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mActiveLinkColor as * const _ as usize } , 412usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mActiveLinkColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mVisitedLinkColor as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mVisitedLinkColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFocusBackgroundColor as * const _ as usize } , 420usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFocusBackgroundColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFocusTextColor as * const _ as usize } , 424usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFocusTextColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBodyTextColor as * const _ as usize } , 428usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBodyTextColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mViewportScrollbarOverrideElement as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mViewportScrollbarOverrideElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mViewportStyleScrollbar as * const _ as usize } , 440usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mViewportStyleScrollbar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFocusRingWidth as * const _ as usize } , 504usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFocusRingWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mExistThrottledUpdates as * const _ as usize } , 505usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mExistThrottledUpdates ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mImageAnimationMode as * const _ as usize } , 506usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mImageAnimationMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mImageAnimationModePref as * const _ as usize } , 508usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mImageAnimationModePref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLangGroupFontPrefs as * const _ as usize } , 512usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLangGroupFontPrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFontGroupCacheDirty as * const _ as usize } , 1208usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFontGroupCacheDirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLanguagesUsed as * const _ as usize } , 1216usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLanguagesUsed ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBorderWidthTable as * const _ as usize } , 1248usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBorderWidthTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mInterruptChecksToSkip as * const _ as usize } , 1260usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInterruptChecksToSkip ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mElementsRestyled as * const _ as usize } , 1264usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mElementsRestyled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFramesConstructed as * const _ as usize } , 1272usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFramesConstructed ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFramesReflowed as * const _ as usize } , 1280usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFramesReflowed ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mReflowStartTime as * const _ as usize } , 1288usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mReflowStartTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstNonBlankPaintTime as * const _ as usize } , 1296usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstNonBlankPaintTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstClickTime as * const _ as usize } , 1304usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstClickTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstKeyTime as * const _ as usize } , 1312usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstKeyTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstMouseMoveTime as * const _ as usize } , 1320usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstMouseMoveTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstScrollTime as * const _ as usize } , 1328usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstScrollTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mInteractionTimeEnabled as * const _ as usize } , 1336usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInteractionTimeEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLastStyleUpdateForAllAnimations as * const _ as usize } , 1344usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLastStyleUpdateForAllAnimations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTelemetryScrollLastY as * const _ as usize } , 1352usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollLastY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTelemetryScrollMaxY as * const _ as usize } , 1356usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollMaxY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTelemetryScrollTotalY as * const _ as usize } , 1360usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollTotalY ) ) ) ; } impl nsPresContext { # [ inline ] pub fn mHasPendingInterrupt ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1 as u64 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mHasPendingInterrupt ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingInterruptFromTest ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2 as u64 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingInterruptFromTest ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mInterruptsEnabled ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4 as u64 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mInterruptsEnabled ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUseDocumentFonts ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8 as u64 ; 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 = 0x8 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUseDocumentColors ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10 as u64 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mUseDocumentColors ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x10 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUnderlineLinks ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20 as u64 ; 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 = 0x20 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mSendAfterPaintToContent ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40 as u64 ; let val = ( unit_field_val & mask ) >> 6usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mSendAfterPaintToContent ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x40 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 6usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUseFocusColors ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80 as u64 ; 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 = 0x80 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 7usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFocusRingOnAnything ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100 as u64 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mFocusRingOnAnything ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x100 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFocusRingStyle ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200 as u64 ; 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 = 0x200 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDrawImageBackground ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400 as u64 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mDrawImageBackground ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x400 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDrawColorBackground ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800 as u64 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mDrawColorBackground ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x800 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mNeverAnimate ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000 as u64 ; 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 = 0x1000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsRenderingOnlySelection ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000 as u64 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsRenderingOnlySelection ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPaginated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000 as u64 ; 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 = 0x4000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mCanPaginatedScroll ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000 as u64 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mCanPaginatedScroll ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDoScaledTwips ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000 as u64 ; 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 = 0x10000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 16usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsRootPaginatedDocument ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000 as u64 ; let val = ( unit_field_val & mask ) >> 17usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsRootPaginatedDocument ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x20000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 17usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPrefBidiDirection ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000 as u64 ; let val = ( unit_field_val & mask ) >> 18usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPrefBidiDirection ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x40000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 18usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPrefScrollbarSide ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x180000 as u64 ; let val = ( unit_field_val & mask ) >> 19usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPrefScrollbarSide ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x180000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 19usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingSysColorChanged ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000 as u64 ; let val = ( unit_field_val & mask ) >> 21usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingSysColorChanged ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x200000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 21usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingThemeChanged ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000 as u64 ; let val = ( unit_field_val & mask ) >> 22usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingThemeChanged ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x400000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 22usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingUIResolutionChanged ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800000 as u64 ; let val = ( unit_field_val & mask ) >> 23usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingUIResolutionChanged ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x800000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 23usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingMediaFeatureValuesChanged ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000000 as u64 ; let val = ( unit_field_val & mask ) >> 24usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingMediaFeatureValuesChanged ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 24usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPrefChangePendingNeedsReflow ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000000 as u64 ; let val = ( unit_field_val & mask ) >> 25usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPrefChangePendingNeedsReflow ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 25usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsEmulatingMedia ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000000 as u64 ; 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 = 0x4000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 26usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsGlyph ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000000 as u64 ; 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 = 0x8000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 27usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUsesRootEMUnits ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000000 as u64 ; 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 = 0x10000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 28usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUsesExChUnits ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000000 as u64 ; 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 = 0x20000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 29usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingViewportChange ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000000 as u64 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingViewportChange ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x40000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mCounterStylesDirty ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80000000 as u64 ; let val = ( unit_field_val & mask ) >> 31usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mCounterStylesDirty ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x80000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 31usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPostedFlushCounterStyles ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100000000 as u64 ; let val = ( unit_field_val & mask ) >> 32usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPostedFlushCounterStyles ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x100000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 32usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFontFeatureValuesDirty ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000000 as u64 ; let val = ( unit_field_val & mask ) >> 33usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mFontFeatureValuesDirty ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x200000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 33usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPostedFlushFontFeatureValues ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000000 as u64 ; let val = ( unit_field_val & mask ) >> 34usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPostedFlushFontFeatureValues ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x400000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 34usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mSuppressResizeReflow ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800000000 as u64 ; let val = ( unit_field_val & mask ) >> 35usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mSuppressResizeReflow ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x800000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 35usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsVisual ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000000000 as u64 ; let val = ( unit_field_val & mask ) >> 36usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsVisual ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 36usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFireAfterPaintEvents ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000000000 as u64 ; let val = ( unit_field_val & mask ) >> 37usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mFireAfterPaintEvents ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 37usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsChrome ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000000000 as u64 ; let val = ( unit_field_val & mask ) >> 38usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsChrome ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 38usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsChromeOriginImage ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000000000 as u64 ; let val = ( unit_field_val & mask ) >> 39usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsChromeOriginImage ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 39usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPaintFlashing ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000000000 as u64 ; let val = ( unit_field_val & mask ) >> 40usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPaintFlashing ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x10000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 40usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPaintFlashingInitialized ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000000000 as u64 ; let val = ( unit_field_val & mask ) >> 41usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPaintFlashingInitialized ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x20000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 41usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasWarnedAboutPositionedTableParts ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000000000 as u64 ; let val = ( unit_field_val & mask ) >> 42usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mHasWarnedAboutPositionedTableParts ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x40000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 42usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasWarnedAboutTooLargeDashedOrDottedRadius ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80000000000 as u64 ; let val = ( unit_field_val & mask ) >> 43usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mHasWarnedAboutTooLargeDashedOrDottedRadius ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x80000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 43usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mQuirkSheetAdded ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100000000000 as u64 ; let val = ( unit_field_val & mask ) >> 44usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mQuirkSheetAdded ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x100000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 44usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mNeedsPrefUpdate ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000000000 as u64 ; let val = ( unit_field_val & mask ) >> 45usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mNeedsPrefUpdate ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x200000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 45usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHadNonBlankPaint ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000000000 as u64 ; let val = ( unit_field_val & mask ) >> 46usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mHadNonBlankPaint ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x400000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 46usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ 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 , mPendingViewportChange : :: std :: os :: raw :: c_uint , mCounterStylesDirty : :: std :: os :: raw :: c_uint , mPostedFlushCounterStyles : :: std :: os :: raw :: c_uint , mFontFeatureValuesDirty : :: std :: os :: raw :: c_uint , mPostedFlushFontFeatureValues : :: 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 ) -> u64 { ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 0 | ( ( mHasPendingInterrupt as u32 as u64 ) << 0usize ) & ( 0x1 as u64 ) ) | ( ( mPendingInterruptFromTest as u32 as u64 ) << 1usize ) & ( 0x2 as u64 ) ) | ( ( mInterruptsEnabled as u32 as u64 ) << 2usize ) & ( 0x4 as u64 ) ) | ( ( mUseDocumentFonts as u32 as u64 ) << 3usize ) & ( 0x8 as u64 ) ) | ( ( mUseDocumentColors as u32 as u64 ) << 4usize ) & ( 0x10 as u64 ) ) | ( ( mUnderlineLinks as u32 as u64 ) << 5usize ) & ( 0x20 as u64 ) ) | ( ( mSendAfterPaintToContent as u32 as u64 ) << 6usize ) & ( 0x40 as u64 ) ) | ( ( mUseFocusColors as u32 as u64 ) << 7usize ) & ( 0x80 as u64 ) ) | ( ( mFocusRingOnAnything as u32 as u64 ) << 8usize ) & ( 0x100 as u64 ) ) | ( ( mFocusRingStyle as u32 as u64 ) << 9usize ) & ( 0x200 as u64 ) ) | ( ( mDrawImageBackground as u32 as u64 ) << 10usize ) & ( 0x400 as u64 ) ) | ( ( mDrawColorBackground as u32 as u64 ) << 11usize ) & ( 0x800 as u64 ) ) | ( ( mNeverAnimate as u32 as u64 ) << 12usize ) & ( 0x1000 as u64 ) ) | ( ( mIsRenderingOnlySelection as u32 as u64 ) << 13usize ) & ( 0x2000 as u64 ) ) | ( ( mPaginated as u32 as u64 ) << 14usize ) & ( 0x4000 as u64 ) ) | ( ( mCanPaginatedScroll as u32 as u64 ) << 15usize ) & ( 0x8000 as u64 ) ) | ( ( mDoScaledTwips as u32 as u64 ) << 16usize ) & ( 0x10000 as u64 ) ) | ( ( mIsRootPaginatedDocument as u32 as u64 ) << 17usize ) & ( 0x20000 as u64 ) ) | ( ( mPrefBidiDirection as u32 as u64 ) << 18usize ) & ( 0x40000 as u64 ) ) | ( ( mPrefScrollbarSide as u32 as u64 ) << 19usize ) & ( 0x180000 as u64 ) ) | ( ( mPendingSysColorChanged as u32 as u64 ) << 21usize ) & ( 0x200000 as u64 ) ) | ( ( mPendingThemeChanged as u32 as u64 ) << 22usize ) & ( 0x400000 as u64 ) ) | ( ( mPendingUIResolutionChanged as u32 as u64 ) << 23usize ) & ( 0x800000 as u64 ) ) | ( ( mPendingMediaFeatureValuesChanged as u32 as u64 ) << 24usize ) & ( 0x1000000 as u64 ) ) | ( ( mPrefChangePendingNeedsReflow as u32 as u64 ) << 25usize ) & ( 0x2000000 as u64 ) ) | ( ( mIsEmulatingMedia as u32 as u64 ) << 26usize ) & ( 0x4000000 as u64 ) ) | ( ( mIsGlyph as u32 as u64 ) << 27usize ) & ( 0x8000000 as u64 ) ) | ( ( mUsesRootEMUnits as u32 as u64 ) << 28usize ) & ( 0x10000000 as u64 ) ) | ( ( mUsesExChUnits as u32 as u64 ) << 29usize ) & ( 0x20000000 as u64 ) ) | ( ( mPendingViewportChange as u32 as u64 ) << 30usize ) & ( 0x40000000 as u64 ) ) | ( ( mCounterStylesDirty as u32 as u64 ) << 31usize ) & ( 0x80000000 as u64 ) ) | ( ( mPostedFlushCounterStyles as u32 as u64 ) << 32usize ) & ( 0x100000000 as u64 ) ) | ( ( mFontFeatureValuesDirty as u32 as u64 ) << 33usize ) & ( 0x200000000 as u64 ) ) | ( ( mPostedFlushFontFeatureValues as u32 as u64 ) << 34usize ) & ( 0x400000000 as u64 ) ) | ( ( mSuppressResizeReflow as u32 as u64 ) << 35usize ) & ( 0x800000000 as u64 ) ) | ( ( mIsVisual as u32 as u64 ) << 36usize ) & ( 0x1000000000 as u64 ) ) | ( ( mFireAfterPaintEvents as u32 as u64 ) << 37usize ) & ( 0x2000000000 as u64 ) ) | ( ( mIsChrome as u32 as u64 ) << 38usize ) & ( 0x4000000000 as u64 ) ) | ( ( mIsChromeOriginImage as u32 as u64 ) << 39usize ) & ( 0x8000000000 as u64 ) ) | ( ( mPaintFlashing as u32 as u64 ) << 40usize ) & ( 0x10000000000 as u64 ) ) | ( ( mPaintFlashingInitialized as u32 as u64 ) << 41usize ) & ( 0x20000000000 as u64 ) ) | ( ( mHasWarnedAboutPositionedTableParts as u32 as u64 ) << 42usize ) & ( 0x40000000000 as u64 ) ) | ( ( mHasWarnedAboutTooLargeDashedOrDottedRadius as u32 as u64 ) << 43usize ) & ( 0x80000000000 as u64 ) ) | ( ( mQuirkSheetAdded as u32 as u64 ) << 44usize ) & ( 0x100000000000 as u64 ) ) | ( ( mNeedsPrefUpdate as u32 as u64 ) << 45usize ) & ( 0x200000000000 as u64 ) ) | ( ( mHadNonBlankPaint as u32 as u64 ) << 46usize ) & ( 0x400000000000 as u64 ) ) } } # [ repr ( i16 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsCSSKeyword { eCSSKeyword_UNKNOWN = -1 , eCSSKeyword__moz_activehyperlinktext = 0 , eCSSKeyword__moz_all = 1 , eCSSKeyword__moz_alt_content = 2 , eCSSKeyword__moz_available = 3 , eCSSKeyword__moz_box = 4 , eCSSKeyword__moz_button = 5 , eCSSKeyword__moz_buttondefault = 6 , eCSSKeyword__moz_buttonhoverface = 7 , eCSSKeyword__moz_buttonhovertext = 8 , eCSSKeyword__moz_cellhighlight = 9 , eCSSKeyword__moz_cellhighlighttext = 10 , eCSSKeyword__moz_center = 11 , eCSSKeyword__moz_combobox = 12 , eCSSKeyword__moz_comboboxtext = 13 , eCSSKeyword__moz_context_properties = 14 , eCSSKeyword__moz_block_height = 15 , eCSSKeyword__moz_deck = 16 , eCSSKeyword__moz_default_background_color = 17 , eCSSKeyword__moz_default_color = 18 , eCSSKeyword__moz_desktop = 19 , eCSSKeyword__moz_dialog = 20 , eCSSKeyword__moz_dialogtext = 21 , eCSSKeyword__moz_document = 22 , eCSSKeyword__moz_dragtargetzone = 23 , eCSSKeyword__moz_element = 24 , eCSSKeyword__moz_eventreerow = 25 , eCSSKeyword__moz_field = 26 , eCSSKeyword__moz_fieldtext = 27 , eCSSKeyword__moz_fit_content = 28 , eCSSKeyword__moz_fixed = 29 , eCSSKeyword__moz_grabbing = 30 , eCSSKeyword__moz_grab = 31 , eCSSKeyword__moz_grid_group = 32 , eCSSKeyword__moz_grid_line = 33 , eCSSKeyword__moz_grid = 34 , eCSSKeyword__moz_groupbox = 35 , eCSSKeyword__moz_gtk_info_bar = 36 , eCSSKeyword__moz_gtk_info_bar_text = 37 , eCSSKeyword__moz_hidden_unscrollable = 38 , eCSSKeyword__moz_hyperlinktext = 39 , eCSSKeyword__moz_html_cellhighlight = 40 , eCSSKeyword__moz_html_cellhighlighttext = 41 , eCSSKeyword__moz_image_rect = 42 , eCSSKeyword__moz_info = 43 , eCSSKeyword__moz_inline_box = 44 , eCSSKeyword__moz_inline_grid = 45 , eCSSKeyword__moz_inline_stack = 46 , eCSSKeyword__moz_left = 47 , eCSSKeyword__moz_list = 48 , eCSSKeyword__moz_mac_buttonactivetext = 49 , eCSSKeyword__moz_mac_chrome_active = 50 , eCSSKeyword__moz_mac_chrome_inactive = 51 , eCSSKeyword__moz_mac_defaultbuttontext = 52 , eCSSKeyword__moz_mac_focusring = 53 , eCSSKeyword__moz_mac_fullscreen_button = 54 , eCSSKeyword__moz_mac_menuselect = 55 , eCSSKeyword__moz_mac_menushadow = 56 , eCSSKeyword__moz_mac_menutextdisable = 57 , eCSSKeyword__moz_mac_menutextselect = 58 , eCSSKeyword__moz_mac_disabledtoolbartext = 59 , eCSSKeyword__moz_mac_secondaryhighlight = 60 , eCSSKeyword__moz_mac_menuitem = 61 , eCSSKeyword__moz_mac_active_menuitem = 62 , eCSSKeyword__moz_mac_menupopup = 63 , eCSSKeyword__moz_mac_tooltip = 64 , eCSSKeyword__moz_max_content = 65 , eCSSKeyword__moz_menuhover = 66 , eCSSKeyword__moz_menuhovertext = 67 , eCSSKeyword__moz_menubartext = 68 , eCSSKeyword__moz_menubarhovertext = 69 , eCSSKeyword__moz_middle_with_baseline = 70 , eCSSKeyword__moz_min_content = 71 , eCSSKeyword__moz_nativehyperlinktext = 72 , eCSSKeyword__moz_none = 73 , eCSSKeyword__moz_oddtreerow = 74 , eCSSKeyword__moz_popup = 75 , eCSSKeyword__moz_pre_space = 76 , eCSSKeyword__moz_pull_down_menu = 77 , eCSSKeyword__moz_right = 78 , eCSSKeyword__moz_scrollbars_horizontal = 79 , eCSSKeyword__moz_scrollbars_none = 80 , eCSSKeyword__moz_scrollbars_vertical = 81 , eCSSKeyword__moz_stack = 82 , eCSSKeyword__moz_text = 83 , eCSSKeyword__moz_use_system_font = 84 , eCSSKeyword__moz_visitedhyperlinktext = 85 , eCSSKeyword__moz_window = 86 , eCSSKeyword__moz_workspace = 87 , eCSSKeyword__moz_zoom_in = 88 , eCSSKeyword__moz_zoom_out = 89 , eCSSKeyword__webkit_box = 90 , eCSSKeyword__webkit_flex = 91 , eCSSKeyword__webkit_inline_box = 92 , eCSSKeyword__webkit_inline_flex = 93 , eCSSKeyword_absolute = 94 , eCSSKeyword_active = 95 , eCSSKeyword_activeborder = 96 , eCSSKeyword_activecaption = 97 , eCSSKeyword_add = 98 , eCSSKeyword_additive = 99 , eCSSKeyword_alias = 100 , eCSSKeyword_all = 101 , eCSSKeyword_all_petite_caps = 102 , eCSSKeyword_all_scroll = 103 , eCSSKeyword_all_small_caps = 104 , eCSSKeyword_alpha = 105 , eCSSKeyword_alternate = 106 , eCSSKeyword_alternate_reverse = 107 , eCSSKeyword_always = 108 , eCSSKeyword_annotation = 109 , eCSSKeyword_appworkspace = 110 , eCSSKeyword_auto = 111 , eCSSKeyword_auto_fill = 112 , eCSSKeyword_auto_fit = 113 , eCSSKeyword_auto_flow = 114 , eCSSKeyword_avoid = 115 , eCSSKeyword_background = 116 , eCSSKeyword_backwards = 117 , eCSSKeyword_balance = 118 , eCSSKeyword_baseline = 119 , eCSSKeyword_bidi_override = 120 , eCSSKeyword_blink = 121 , eCSSKeyword_block = 122 , eCSSKeyword_block_axis = 123 , eCSSKeyword_blur = 124 , eCSSKeyword_bold = 125 , eCSSKeyword_bold_fraktur = 126 , eCSSKeyword_bold_italic = 127 , eCSSKeyword_bold_sans_serif = 128 , eCSSKeyword_bold_script = 129 , eCSSKeyword_bolder = 130 , eCSSKeyword_border_box = 131 , eCSSKeyword_both = 132 , eCSSKeyword_bottom = 133 , eCSSKeyword_bottom_outside = 134 , eCSSKeyword_break_all = 135 , eCSSKeyword_break_word = 136 , eCSSKeyword_brightness = 137 , eCSSKeyword_browser = 138 , eCSSKeyword_bullets = 139 , eCSSKeyword_button = 140 , eCSSKeyword_buttonface = 141 , eCSSKeyword_buttonhighlight = 142 , eCSSKeyword_buttonshadow = 143 , eCSSKeyword_buttontext = 144 , eCSSKeyword_capitalize = 145 , eCSSKeyword_caption = 146 , eCSSKeyword_captiontext = 147 , eCSSKeyword_cell = 148 , eCSSKeyword_center = 149 , eCSSKeyword_ch = 150 , eCSSKeyword_character_variant = 151 , eCSSKeyword_circle = 152 , eCSSKeyword_cjk_decimal = 153 , eCSSKeyword_clip = 154 , eCSSKeyword_clone = 155 , eCSSKeyword_close_quote = 156 , eCSSKeyword_closest_corner = 157 , eCSSKeyword_closest_side = 158 , eCSSKeyword_cm = 159 , eCSSKeyword_col_resize = 160 , eCSSKeyword_collapse = 161 , eCSSKeyword_color = 162 , eCSSKeyword_color_burn = 163 , eCSSKeyword_color_dodge = 164 , eCSSKeyword_common_ligatures = 165 , eCSSKeyword_column = 166 , eCSSKeyword_column_reverse = 167 , eCSSKeyword_condensed = 168 , eCSSKeyword_contain = 169 , eCSSKeyword_content_box = 170 , eCSSKeyword_contents = 171 , eCSSKeyword_context_fill = 172 , eCSSKeyword_context_fill_opacity = 173 , eCSSKeyword_context_menu = 174 , eCSSKeyword_context_stroke = 175 , eCSSKeyword_context_stroke_opacity = 176 , eCSSKeyword_context_value = 177 , eCSSKeyword_continuous = 178 , eCSSKeyword_contrast = 179 , eCSSKeyword_copy = 180 , eCSSKeyword_contextual = 181 , eCSSKeyword_cover = 182 , eCSSKeyword_crop = 183 , eCSSKeyword_cross = 184 , eCSSKeyword_crosshair = 185 , eCSSKeyword_currentcolor = 186 , eCSSKeyword_cursive = 187 , eCSSKeyword_cyclic = 188 , eCSSKeyword_darken = 189 , eCSSKeyword_dashed = 190 , eCSSKeyword_dense = 191 , eCSSKeyword_decimal = 192 , eCSSKeyword_default = 193 , eCSSKeyword_deg = 194 , eCSSKeyword_diagonal_fractions = 195 , eCSSKeyword_dialog = 196 , eCSSKeyword_difference = 197 , eCSSKeyword_digits = 198 , eCSSKeyword_disabled = 199 , eCSSKeyword_disc = 200 , eCSSKeyword_discretionary_ligatures = 201 , eCSSKeyword_distribute = 202 , eCSSKeyword_dot = 203 , eCSSKeyword_dotted = 204 , eCSSKeyword_double = 205 , eCSSKeyword_double_circle = 206 , eCSSKeyword_double_struck = 207 , eCSSKeyword_drag = 208 , eCSSKeyword_drop_shadow = 209 , eCSSKeyword_e_resize = 210 , eCSSKeyword_ease = 211 , eCSSKeyword_ease_in = 212 , eCSSKeyword_ease_in_out = 213 , eCSSKeyword_ease_out = 214 , eCSSKeyword_economy = 215 , eCSSKeyword_element = 216 , eCSSKeyword_elements = 217 , eCSSKeyword_ellipse = 218 , eCSSKeyword_ellipsis = 219 , eCSSKeyword_em = 220 , eCSSKeyword_embed = 221 , eCSSKeyword_enabled = 222 , eCSSKeyword_end = 223 , eCSSKeyword_ex = 224 , eCSSKeyword_exact = 225 , eCSSKeyword_exclude = 226 , eCSSKeyword_exclusion = 227 , eCSSKeyword_expanded = 228 , eCSSKeyword_extends = 229 , eCSSKeyword_extra_condensed = 230 , eCSSKeyword_extra_expanded = 231 , eCSSKeyword_ew_resize = 232 , eCSSKeyword_fallback = 233 , eCSSKeyword_fantasy = 234 , eCSSKeyword_farthest_side = 235 , eCSSKeyword_farthest_corner = 236 , eCSSKeyword_fill = 237 , eCSSKeyword_filled = 238 , eCSSKeyword_fill_box = 239 , eCSSKeyword_first = 240 , eCSSKeyword_fit_content = 241 , eCSSKeyword_fixed = 242 , eCSSKeyword_flat = 243 , eCSSKeyword_flex = 244 , eCSSKeyword_flex_end = 245 , eCSSKeyword_flex_start = 246 , eCSSKeyword_flip = 247 , eCSSKeyword_flow_root = 248 , eCSSKeyword_forwards = 249 , eCSSKeyword_fraktur = 250 , eCSSKeyword_frames = 251 , eCSSKeyword_from_image = 252 , eCSSKeyword_full_width = 253 , eCSSKeyword_fullscreen = 254 , eCSSKeyword_grab = 255 , eCSSKeyword_grabbing = 256 , eCSSKeyword_grad = 257 , eCSSKeyword_grayscale = 258 , eCSSKeyword_graytext = 259 , eCSSKeyword_grid = 260 , eCSSKeyword_groove = 261 , eCSSKeyword_hard_light = 262 , eCSSKeyword_help = 263 , eCSSKeyword_hidden = 264 , eCSSKeyword_hide = 265 , eCSSKeyword_highlight = 266 , eCSSKeyword_highlighttext = 267 , eCSSKeyword_historical_forms = 268 , eCSSKeyword_historical_ligatures = 269 , eCSSKeyword_horizontal = 270 , eCSSKeyword_horizontal_tb = 271 , eCSSKeyword_hue = 272 , eCSSKeyword_hue_rotate = 273 , eCSSKeyword_hz = 274 , eCSSKeyword_icon = 275 , eCSSKeyword_ignore = 276 , eCSSKeyword_ignore_horizontal = 277 , eCSSKeyword_ignore_vertical = 278 , eCSSKeyword_in = 279 , eCSSKeyword_interlace = 280 , eCSSKeyword_inactive = 281 , eCSSKeyword_inactiveborder = 282 , eCSSKeyword_inactivecaption = 283 , eCSSKeyword_inactivecaptiontext = 284 , eCSSKeyword_infinite = 285 , eCSSKeyword_infobackground = 286 , eCSSKeyword_infotext = 287 , eCSSKeyword_inherit = 288 , eCSSKeyword_initial = 289 , eCSSKeyword_inline = 290 , eCSSKeyword_inline_axis = 291 , eCSSKeyword_inline_block = 292 , eCSSKeyword_inline_end = 293 , eCSSKeyword_inline_flex = 294 , eCSSKeyword_inline_grid = 295 , eCSSKeyword_inline_start = 296 , eCSSKeyword_inline_table = 297 , eCSSKeyword_inset = 298 , eCSSKeyword_inside = 299 , eCSSKeyword_inter_character = 300 , eCSSKeyword_inter_word = 301 , eCSSKeyword_interpolatematrix = 302 , eCSSKeyword_accumulatematrix = 303 , eCSSKeyword_intersect = 304 , eCSSKeyword_isolate = 305 , eCSSKeyword_isolate_override = 306 , eCSSKeyword_invert = 307 , eCSSKeyword_italic = 308 , eCSSKeyword_jis78 = 309 , eCSSKeyword_jis83 = 310 , eCSSKeyword_jis90 = 311 , eCSSKeyword_jis04 = 312 , eCSSKeyword_justify = 313 , eCSSKeyword_keep_all = 314 , eCSSKeyword_khz = 315 , eCSSKeyword_landscape = 316 , eCSSKeyword_large = 317 , eCSSKeyword_larger = 318 , eCSSKeyword_last = 319 , eCSSKeyword_last_baseline = 320 , eCSSKeyword_layout = 321 , eCSSKeyword_left = 322 , eCSSKeyword_legacy = 323 , eCSSKeyword_lighten = 324 , eCSSKeyword_lighter = 325 , eCSSKeyword_line_through = 326 , eCSSKeyword_linear = 327 , eCSSKeyword_lining_nums = 328 , eCSSKeyword_list_item = 329 , eCSSKeyword_local = 330 , eCSSKeyword_logical = 331 , eCSSKeyword_looped = 332 , eCSSKeyword_lowercase = 333 , eCSSKeyword_lr = 334 , eCSSKeyword_lr_tb = 335 , eCSSKeyword_ltr = 336 , eCSSKeyword_luminance = 337 , eCSSKeyword_luminosity = 338 , eCSSKeyword_mandatory = 339 , eCSSKeyword_manipulation = 340 , eCSSKeyword_manual = 341 , eCSSKeyword_margin_box = 342 , eCSSKeyword_markers = 343 , eCSSKeyword_match_parent = 344 , eCSSKeyword_match_source = 345 , eCSSKeyword_matrix = 346 , eCSSKeyword_matrix3d = 347 , eCSSKeyword_max_content = 348 , eCSSKeyword_medium = 349 , eCSSKeyword_menu = 350 , eCSSKeyword_menutext = 351 , eCSSKeyword_message_box = 352 , eCSSKeyword_middle = 353 , eCSSKeyword_min_content = 354 , eCSSKeyword_minmax = 355 , eCSSKeyword_mix = 356 , eCSSKeyword_mixed = 357 , eCSSKeyword_mm = 358 , eCSSKeyword_monospace = 359 , eCSSKeyword_move = 360 , eCSSKeyword_ms = 361 , eCSSKeyword_multiply = 362 , eCSSKeyword_n_resize = 363 , eCSSKeyword_narrower = 364 , eCSSKeyword_ne_resize = 365 , eCSSKeyword_nesw_resize = 366 , eCSSKeyword_no_clip = 367 , eCSSKeyword_no_close_quote = 368 , eCSSKeyword_no_common_ligatures = 369 , eCSSKeyword_no_contextual = 370 , eCSSKeyword_no_discretionary_ligatures = 371 , eCSSKeyword_no_drag = 372 , eCSSKeyword_no_drop = 373 , eCSSKeyword_no_historical_ligatures = 374 , eCSSKeyword_no_open_quote = 375 , eCSSKeyword_no_repeat = 376 , eCSSKeyword_none = 377 , eCSSKeyword_normal = 378 , eCSSKeyword_not_allowed = 379 , eCSSKeyword_nowrap = 380 , eCSSKeyword_numeric = 381 , eCSSKeyword_ns_resize = 382 , eCSSKeyword_nw_resize = 383 , eCSSKeyword_nwse_resize = 384 , eCSSKeyword_oblique = 385 , eCSSKeyword_oldstyle_nums = 386 , eCSSKeyword_opacity = 387 , eCSSKeyword_open = 388 , eCSSKeyword_open_quote = 389 , eCSSKeyword_optional = 390 , eCSSKeyword_ordinal = 391 , eCSSKeyword_ornaments = 392 , eCSSKeyword_outset = 393 , eCSSKeyword_outside = 394 , eCSSKeyword_over = 395 , eCSSKeyword_overlay = 396 , eCSSKeyword_overline = 397 , eCSSKeyword_paint = 398 , eCSSKeyword_padding_box = 399 , eCSSKeyword_painted = 400 , eCSSKeyword_pan_x = 401 , eCSSKeyword_pan_y = 402 , eCSSKeyword_paused = 403 , eCSSKeyword_pc = 404 , eCSSKeyword_perspective = 405 , eCSSKeyword_petite_caps = 406 , eCSSKeyword_physical = 407 , eCSSKeyword_plaintext = 408 , eCSSKeyword_pointer = 409 , eCSSKeyword_polygon = 410 , eCSSKeyword_portrait = 411 , eCSSKeyword_pre = 412 , eCSSKeyword_pre_wrap = 413 , eCSSKeyword_pre_line = 414 , eCSSKeyword_preserve_3d = 415 , eCSSKeyword_progress = 416 , eCSSKeyword_progressive = 417 , eCSSKeyword_proportional_nums = 418 , eCSSKeyword_proportional_width = 419 , eCSSKeyword_proximity = 420 , eCSSKeyword_pt = 421 , eCSSKeyword_px = 422 , eCSSKeyword_rad = 423 , eCSSKeyword_read_only = 424 , eCSSKeyword_read_write = 425 , eCSSKeyword_relative = 426 , eCSSKeyword_repeat = 427 , eCSSKeyword_repeat_x = 428 , eCSSKeyword_repeat_y = 429 , eCSSKeyword_reverse = 430 , eCSSKeyword_ridge = 431 , eCSSKeyword_right = 432 , eCSSKeyword_rl = 433 , eCSSKeyword_rl_tb = 434 , eCSSKeyword_rotate = 435 , eCSSKeyword_rotate3d = 436 , eCSSKeyword_rotatex = 437 , eCSSKeyword_rotatey = 438 , eCSSKeyword_rotatez = 439 , eCSSKeyword_round = 440 , eCSSKeyword_row = 441 , eCSSKeyword_row_resize = 442 , eCSSKeyword_row_reverse = 443 , eCSSKeyword_rtl = 444 , eCSSKeyword_ruby = 445 , eCSSKeyword_ruby_base = 446 , eCSSKeyword_ruby_base_container = 447 , eCSSKeyword_ruby_text = 448 , eCSSKeyword_ruby_text_container = 449 , eCSSKeyword_running = 450 , eCSSKeyword_s = 451 , eCSSKeyword_s_resize = 452 , eCSSKeyword_safe = 453 , eCSSKeyword_saturate = 454 , eCSSKeyword_saturation = 455 , eCSSKeyword_scale = 456 , eCSSKeyword_scale_down = 457 , eCSSKeyword_scale3d = 458 , eCSSKeyword_scalex = 459 , eCSSKeyword_scaley = 460 , eCSSKeyword_scalez = 461 , eCSSKeyword_screen = 462 , eCSSKeyword_script = 463 , eCSSKeyword_scroll = 464 , eCSSKeyword_scrollbar = 465 , eCSSKeyword_scrollbar_small = 466 , eCSSKeyword_scrollbar_horizontal = 467 , eCSSKeyword_scrollbar_vertical = 468 , eCSSKeyword_se_resize = 469 , eCSSKeyword_select_after = 470 , eCSSKeyword_select_all = 471 , eCSSKeyword_select_before = 472 , eCSSKeyword_select_menu = 473 , eCSSKeyword_select_same = 474 , eCSSKeyword_self_end = 475 , eCSSKeyword_self_start = 476 , eCSSKeyword_semi_condensed = 477 , eCSSKeyword_semi_expanded = 478 , eCSSKeyword_separate = 479 , eCSSKeyword_sepia = 480 , eCSSKeyword_serif = 481 , eCSSKeyword_sesame = 482 , eCSSKeyword_show = 483 , eCSSKeyword_sideways = 484 , eCSSKeyword_sideways_lr = 485 , eCSSKeyword_sideways_right = 486 , eCSSKeyword_sideways_rl = 487 , eCSSKeyword_simplified = 488 , eCSSKeyword_skew = 489 , eCSSKeyword_skewx = 490 , eCSSKeyword_skewy = 491 , eCSSKeyword_slashed_zero = 492 , eCSSKeyword_slice = 493 , eCSSKeyword_small = 494 , eCSSKeyword_small_caps = 495 , eCSSKeyword_small_caption = 496 , eCSSKeyword_smaller = 497 , eCSSKeyword_smooth = 498 , eCSSKeyword_soft = 499 , eCSSKeyword_soft_light = 500 , eCSSKeyword_solid = 501 , eCSSKeyword_space_around = 502 , eCSSKeyword_space_between = 503 , eCSSKeyword_space_evenly = 504 , eCSSKeyword_span = 505 , eCSSKeyword_spell_out = 506 , eCSSKeyword_square = 507 , eCSSKeyword_stacked_fractions = 508 , eCSSKeyword_start = 509 , eCSSKeyword_static = 510 , eCSSKeyword_standalone = 511 , eCSSKeyword_status_bar = 512 , eCSSKeyword_step_end = 513 , eCSSKeyword_step_start = 514 , eCSSKeyword_sticky = 515 , eCSSKeyword_stretch = 516 , eCSSKeyword_stretch_to_fit = 517 , eCSSKeyword_stretched = 518 , eCSSKeyword_strict = 519 , eCSSKeyword_stroke = 520 , eCSSKeyword_stroke_box = 521 , eCSSKeyword_style = 522 , eCSSKeyword_styleset = 523 , eCSSKeyword_stylistic = 524 , eCSSKeyword_sub = 525 , eCSSKeyword_subgrid = 526 , eCSSKeyword_subtract = 527 , eCSSKeyword_super = 528 , eCSSKeyword_sw_resize = 529 , eCSSKeyword_swash = 530 , eCSSKeyword_swap = 531 , eCSSKeyword_table = 532 , eCSSKeyword_table_caption = 533 , eCSSKeyword_table_cell = 534 , eCSSKeyword_table_column = 535 , eCSSKeyword_table_column_group = 536 , eCSSKeyword_table_footer_group = 537 , eCSSKeyword_table_header_group = 538 , eCSSKeyword_table_row = 539 , eCSSKeyword_table_row_group = 540 , eCSSKeyword_tabular_nums = 541 , eCSSKeyword_tailed = 542 , eCSSKeyword_tb = 543 , eCSSKeyword_tb_rl = 544 , eCSSKeyword_text = 545 , eCSSKeyword_text_bottom = 546 , eCSSKeyword_text_top = 547 , eCSSKeyword_thick = 548 , eCSSKeyword_thin = 549 , eCSSKeyword_threeddarkshadow = 550 , eCSSKeyword_threedface = 551 , eCSSKeyword_threedhighlight = 552 , eCSSKeyword_threedlightshadow = 553 , eCSSKeyword_threedshadow = 554 , eCSSKeyword_titling_caps = 555 , eCSSKeyword_toggle = 556 , eCSSKeyword_top = 557 , eCSSKeyword_top_outside = 558 , eCSSKeyword_traditional = 559 , eCSSKeyword_translate = 560 , eCSSKeyword_translate3d = 561 , eCSSKeyword_translatex = 562 , eCSSKeyword_translatey = 563 , eCSSKeyword_translatez = 564 , eCSSKeyword_transparent = 565 , eCSSKeyword_triangle = 566 , eCSSKeyword_tri_state = 567 , eCSSKeyword_ultra_condensed = 568 , eCSSKeyword_ultra_expanded = 569 , eCSSKeyword_under = 570 , eCSSKeyword_underline = 571 , eCSSKeyword_unicase = 572 , eCSSKeyword_unsafe = 573 , eCSSKeyword_unset = 574 , eCSSKeyword_uppercase = 575 , eCSSKeyword_upright = 576 , eCSSKeyword_vertical = 577 , eCSSKeyword_vertical_lr = 578 , eCSSKeyword_vertical_rl = 579 , eCSSKeyword_vertical_text = 580 , eCSSKeyword_view_box = 581 , eCSSKeyword_visible = 582 , eCSSKeyword_visiblefill = 583 , eCSSKeyword_visiblepainted = 584 , eCSSKeyword_visiblestroke = 585 , eCSSKeyword_w_resize = 586 , eCSSKeyword_wait = 587 , eCSSKeyword_wavy = 588 , eCSSKeyword_weight = 589 , eCSSKeyword_wider = 590 , eCSSKeyword_window = 591 , eCSSKeyword_windowframe = 592 , eCSSKeyword_windowtext = 593 , eCSSKeyword_words = 594 , eCSSKeyword_wrap = 595 , eCSSKeyword_wrap_reverse = 596 , eCSSKeyword_write_only = 597 , eCSSKeyword_x_large = 598 , eCSSKeyword_x_small = 599 , eCSSKeyword_xx_large = 600 , eCSSKeyword_xx_small = 601 , eCSSKeyword_zoom_in = 602 , eCSSKeyword_zoom_out = 603 , eCSSKeyword_radio = 604 , eCSSKeyword_checkbox = 605 , eCSSKeyword_button_bevel = 606 , eCSSKeyword_toolbox = 607 , eCSSKeyword_toolbar = 608 , eCSSKeyword_toolbarbutton = 609 , eCSSKeyword_toolbargripper = 610 , eCSSKeyword_dualbutton = 611 , eCSSKeyword_toolbarbutton_dropdown = 612 , eCSSKeyword_button_arrow_up = 613 , eCSSKeyword_button_arrow_down = 614 , eCSSKeyword_button_arrow_next = 615 , eCSSKeyword_button_arrow_previous = 616 , eCSSKeyword_separator = 617 , eCSSKeyword_splitter = 618 , eCSSKeyword_statusbar = 619 , eCSSKeyword_statusbarpanel = 620 , eCSSKeyword_resizerpanel = 621 , eCSSKeyword_resizer = 622 , eCSSKeyword_listbox = 623 , eCSSKeyword_listitem = 624 , eCSSKeyword_numbers = 625 , eCSSKeyword_number_input = 626 , eCSSKeyword_treeview = 627 , eCSSKeyword_treeitem = 628 , eCSSKeyword_treetwisty = 629 , eCSSKeyword_treetwistyopen = 630 , eCSSKeyword_treeline = 631 , eCSSKeyword_treeheader = 632 , eCSSKeyword_treeheadercell = 633 , eCSSKeyword_treeheadersortarrow = 634 , eCSSKeyword_progressbar = 635 , eCSSKeyword_progressbar_vertical = 636 , eCSSKeyword_progresschunk = 637 , eCSSKeyword_progresschunk_vertical = 638 , eCSSKeyword_tab = 639 , eCSSKeyword_tabpanels = 640 , eCSSKeyword_tabpanel = 641 , eCSSKeyword_tab_scroll_arrow_back = 642 , eCSSKeyword_tab_scroll_arrow_forward = 643 , eCSSKeyword_tooltip = 644 , eCSSKeyword_spinner = 645 , eCSSKeyword_spinner_upbutton = 646 , eCSSKeyword_spinner_downbutton = 647 , eCSSKeyword_spinner_textfield = 648 , eCSSKeyword_scrollbarbutton_up = 649 , eCSSKeyword_scrollbarbutton_down = 650 , eCSSKeyword_scrollbarbutton_left = 651 , eCSSKeyword_scrollbarbutton_right = 652 , eCSSKeyword_scrollbartrack_horizontal = 653 , eCSSKeyword_scrollbartrack_vertical = 654 , eCSSKeyword_scrollbarthumb_horizontal = 655 , eCSSKeyword_scrollbarthumb_vertical = 656 , eCSSKeyword_sheet = 657 , eCSSKeyword_textfield = 658 , eCSSKeyword_textfield_multiline = 659 , eCSSKeyword_caret = 660 , eCSSKeyword_searchfield = 661 , eCSSKeyword_menubar = 662 , eCSSKeyword_menupopup = 663 , eCSSKeyword_menuitem = 664 , eCSSKeyword_checkmenuitem = 665 , eCSSKeyword_radiomenuitem = 666 , eCSSKeyword_menucheckbox = 667 , eCSSKeyword_menuradio = 668 , eCSSKeyword_menuseparator = 669 , eCSSKeyword_menuarrow = 670 , eCSSKeyword_menuimage = 671 , eCSSKeyword_menuitemtext = 672 , eCSSKeyword_menulist = 673 , eCSSKeyword_menulist_button = 674 , eCSSKeyword_menulist_text = 675 , eCSSKeyword_menulist_textfield = 676 , eCSSKeyword_meterbar = 677 , eCSSKeyword_meterchunk = 678 , eCSSKeyword_minimal_ui = 679 , eCSSKeyword_range = 680 , eCSSKeyword_range_thumb = 681 , eCSSKeyword_sans_serif = 682 , eCSSKeyword_sans_serif_bold_italic = 683 , eCSSKeyword_sans_serif_italic = 684 , eCSSKeyword_scale_horizontal = 685 , eCSSKeyword_scale_vertical = 686 , eCSSKeyword_scalethumb_horizontal = 687 , eCSSKeyword_scalethumb_vertical = 688 , eCSSKeyword_scalethumbstart = 689 , eCSSKeyword_scalethumbend = 690 , eCSSKeyword_scalethumbtick = 691 , eCSSKeyword_groupbox = 692 , eCSSKeyword_checkbox_container = 693 , eCSSKeyword_radio_container = 694 , eCSSKeyword_checkbox_label = 695 , eCSSKeyword_radio_label = 696 , eCSSKeyword_button_focus = 697 , eCSSKeyword__moz_win_media_toolbox = 698 , eCSSKeyword__moz_win_communications_toolbox = 699 , eCSSKeyword__moz_win_browsertabbar_toolbox = 700 , eCSSKeyword__moz_win_accentcolor = 701 , eCSSKeyword__moz_win_accentcolortext = 702 , eCSSKeyword__moz_win_mediatext = 703 , eCSSKeyword__moz_win_communicationstext = 704 , eCSSKeyword__moz_win_glass = 705 , eCSSKeyword__moz_win_borderless_glass = 706 , eCSSKeyword__moz_window_titlebar = 707 , eCSSKeyword__moz_window_titlebar_maximized = 708 , eCSSKeyword__moz_window_frame_left = 709 , eCSSKeyword__moz_window_frame_right = 710 , eCSSKeyword__moz_window_frame_bottom = 711 , eCSSKeyword__moz_window_button_close = 712 , eCSSKeyword__moz_window_button_minimize = 713 , eCSSKeyword__moz_window_button_maximize = 714 , eCSSKeyword__moz_window_button_restore = 715 , eCSSKeyword__moz_window_button_box = 716 , eCSSKeyword__moz_window_button_box_maximized = 717 , eCSSKeyword__moz_mac_help_button = 718 , eCSSKeyword__moz_win_exclude_glass = 719 , eCSSKeyword__moz_mac_vibrancy_light = 720 , eCSSKeyword__moz_mac_vibrancy_dark = 721 , eCSSKeyword__moz_mac_vibrant_titlebar_light = 722 , eCSSKeyword__moz_mac_vibrant_titlebar_dark = 723 , eCSSKeyword__moz_mac_disclosure_button_closed = 724 , eCSSKeyword__moz_mac_disclosure_button_open = 725 , eCSSKeyword__moz_mac_source_list = 726 , eCSSKeyword__moz_mac_source_list_selection = 727 , eCSSKeyword__moz_mac_active_source_list_selection = 728 , eCSSKeyword_alphabetic = 729 , eCSSKeyword_bevel = 730 , eCSSKeyword_butt = 731 , eCSSKeyword_central = 732 , eCSSKeyword_crispedges = 733 , eCSSKeyword_evenodd = 734 , eCSSKeyword_geometricprecision = 735 , eCSSKeyword_hanging = 736 , eCSSKeyword_ideographic = 737 , eCSSKeyword_linearrgb = 738 , eCSSKeyword_mathematical = 739 , eCSSKeyword_miter = 740 , eCSSKeyword_no_change = 741 , eCSSKeyword_non_scaling_stroke = 742 , eCSSKeyword_nonzero = 743 , eCSSKeyword_optimizelegibility = 744 , eCSSKeyword_optimizequality = 745 , eCSSKeyword_optimizespeed = 746 , eCSSKeyword_reset_size = 747 , eCSSKeyword_srgb = 748 , eCSSKeyword_symbolic = 749 , eCSSKeyword_symbols = 750 , eCSSKeyword_text_after_edge = 751 , eCSSKeyword_text_before_edge = 752 , eCSSKeyword_use_script = 753 , eCSSKeyword__moz_crisp_edges = 754 , eCSSKeyword_space = 755 , eCSSKeyword_COUNT = 756 , } pub const nsStyleStructID_nsStyleStructID_None : root :: nsStyleStructID = -1 ; pub const nsStyleStructID_nsStyleStructID_Inherited_Start : root :: nsStyleStructID = 0 ; pub const nsStyleStructID_nsStyleStructID_DUMMY1 : root :: nsStyleStructID = -1 ; pub const nsStyleStructID_eStyleStruct_Font : root :: nsStyleStructID = 0 ; pub const nsStyleStructID_eStyleStruct_Color : root :: nsStyleStructID = 1 ; pub const nsStyleStructID_eStyleStruct_List : root :: nsStyleStructID = 2 ; pub const nsStyleStructID_eStyleStruct_Text : root :: nsStyleStructID = 3 ; pub const nsStyleStructID_eStyleStruct_Visibility : root :: nsStyleStructID = 4 ; pub const nsStyleStructID_eStyleStruct_UserInterface : root :: nsStyleStructID = 5 ; pub const nsStyleStructID_eStyleStruct_TableBorder : root :: nsStyleStructID = 6 ; pub const nsStyleStructID_eStyleStruct_SVG : root :: nsStyleStructID = 7 ; pub const nsStyleStructID_eStyleStruct_Variables : root :: nsStyleStructID = 8 ; pub const nsStyleStructID_nsStyleStructID_Reset_Start : root :: nsStyleStructID = 9 ; pub const nsStyleStructID_nsStyleStructID_DUMMY2 : root :: nsStyleStructID = 8 ; pub const nsStyleStructID_eStyleStruct_Background : root :: nsStyleStructID = 9 ; pub const nsStyleStructID_eStyleStruct_Position : root :: nsStyleStructID = 10 ; pub const nsStyleStructID_eStyleStruct_TextReset : root :: nsStyleStructID = 11 ; pub const nsStyleStructID_eStyleStruct_Display : root :: nsStyleStructID = 12 ; pub const nsStyleStructID_eStyleStruct_Content : root :: nsStyleStructID = 13 ; pub const nsStyleStructID_eStyleStruct_UIReset : root :: nsStyleStructID = 14 ; pub const nsStyleStructID_eStyleStruct_Table : root :: nsStyleStructID = 15 ; pub const nsStyleStructID_eStyleStruct_Margin : root :: nsStyleStructID = 16 ; pub const nsStyleStructID_eStyleStruct_Padding : root :: nsStyleStructID = 17 ; pub const nsStyleStructID_eStyleStruct_Border : root :: nsStyleStructID = 18 ; pub const nsStyleStructID_eStyleStruct_Outline : root :: nsStyleStructID = 19 ; pub const nsStyleStructID_eStyleStruct_XUL : root :: nsStyleStructID = 20 ; pub const nsStyleStructID_eStyleStruct_SVGReset : root :: nsStyleStructID = 21 ; pub const nsStyleStructID_eStyleStruct_Column : root :: nsStyleStructID = 22 ; pub const nsStyleStructID_eStyleStruct_Effects : root :: nsStyleStructID = 23 ; pub const nsStyleStructID_nsStyleStructID_Length : root :: nsStyleStructID = 24 ; pub const nsStyleStructID_nsStyleStructID_Inherited_Count : root :: nsStyleStructID = 9 ; pub const nsStyleStructID_nsStyleStructID_Reset_Count : root :: nsStyleStructID = 15 ; pub type nsStyleStructID = :: std :: os :: raw :: c_int ; pub const nsStyleAnimType_eStyleAnimType_Custom : root :: nsStyleAnimType = 0 ; pub const nsStyleAnimType_eStyleAnimType_Coord : root :: nsStyleAnimType = 1 ; pub const nsStyleAnimType_eStyleAnimType_Sides_Top : root :: nsStyleAnimType = 2 ; pub const nsStyleAnimType_eStyleAnimType_Sides_Right : root :: nsStyleAnimType = 3 ; pub const nsStyleAnimType_eStyleAnimType_Sides_Bottom : root :: nsStyleAnimType = 4 ; pub const nsStyleAnimType_eStyleAnimType_Sides_Left : root :: nsStyleAnimType = 5 ; pub const nsStyleAnimType_eStyleAnimType_Corner_TopLeft : root :: nsStyleAnimType = 6 ; pub const nsStyleAnimType_eStyleAnimType_Corner_TopRight : root :: nsStyleAnimType = 7 ; pub const nsStyleAnimType_eStyleAnimType_Corner_BottomRight : root :: nsStyleAnimType = 8 ; pub const nsStyleAnimType_eStyleAnimType_Corner_BottomLeft : root :: nsStyleAnimType = 9 ; pub const nsStyleAnimType_eStyleAnimType_nscoord : root :: nsStyleAnimType = 10 ; pub const nsStyleAnimType_eStyleAnimType_float : root :: nsStyleAnimType = 11 ; pub const nsStyleAnimType_eStyleAnimType_Color : root :: nsStyleAnimType = 12 ; pub const nsStyleAnimType_eStyleAnimType_ComplexColor : root :: nsStyleAnimType = 13 ; pub const nsStyleAnimType_eStyleAnimType_PaintServer : root :: nsStyleAnimType = 14 ; pub const nsStyleAnimType_eStyleAnimType_Shadow : root :: nsStyleAnimType = 15 ; pub const nsStyleAnimType_eStyleAnimType_Discrete : root :: nsStyleAnimType = 16 ; pub const nsStyleAnimType_eStyleAnimType_None : root :: nsStyleAnimType = 17 ; pub type nsStyleAnimType = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsCSSProps { pub _address : u8 , } pub use self :: super :: root :: mozilla :: CSSEnabledState as nsCSSProps_EnabledState ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsCSSProps_KTableEntry { pub mKeyword : root :: nsCSSKeyword , pub mValue : i16 , } # [ test ] fn bindgen_test_layout_nsCSSProps_KTableEntry ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSProps_KTableEntry > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nsCSSProps_KTableEntry ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSProps_KTableEntry > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( nsCSSProps_KTableEntry ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSProps_KTableEntry ) ) . mKeyword as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSProps_KTableEntry ) , "::" , stringify ! ( mKeyword ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSProps_KTableEntry ) ) . mValue as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSProps_KTableEntry ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for nsCSSProps_KTableEntry { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps9kSIDTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps9kSIDTableE" ] pub static mut nsCSSProps_kSIDTable : [ root :: nsStyleStructID ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kKeywordTableTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kKeywordTableTableE" ] pub static mut nsCSSProps_kKeywordTableTable : [ * const root :: nsCSSProps_KTableEntry ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps14kAnimTypeTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps14kAnimTypeTableE" ] pub static mut nsCSSProps_kAnimTypeTable : [ root :: nsStyleAnimType ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps23kStyleStructOffsetTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps23kStyleStructOffsetTableE" ] pub static mut nsCSSProps_kStyleStructOffsetTable : [ isize ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps11kFlagsTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps11kFlagsTableE" ] pub static mut nsCSSProps_kFlagsTable : [ u32 ; 374usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kParserVariantTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kParserVariantTableE" ] pub static mut nsCSSProps_kParserVariantTable : [ u32 ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kSubpropertyTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kSubpropertyTableE" ] pub static mut nsCSSProps_kSubpropertyTable : [ * const root :: nsCSSPropertyID ; 49usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps26gShorthandsContainingTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps26gShorthandsContainingTableE" ] pub static mut nsCSSProps_gShorthandsContainingTable : [ * mut root :: nsCSSPropertyID ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25gShorthandsContainingPoolE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25gShorthandsContainingPoolE" ] pub static mut nsCSSProps_gShorthandsContainingPool : * mut root :: nsCSSPropertyID ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps22gPropertyCountInStructE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps22gPropertyCountInStructE" ] pub static mut nsCSSProps_gPropertyCountInStruct : [ usize ; 24usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps22gPropertyIndexInStructE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps22gPropertyIndexInStructE" ] pub static mut nsCSSProps_gPropertyIndexInStruct : [ usize ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kLogicalGroupTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kLogicalGroupTableE" ] pub static mut nsCSSProps_kLogicalGroupTable : [ * const root :: nsCSSPropertyID ; 9usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16gPropertyEnabledE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16gPropertyEnabledE" ] pub static mut nsCSSProps_gPropertyEnabled : [ bool ; 482usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps13kIDLNameTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps13kIDLNameTableE" ] pub static mut nsCSSProps_kIDLNameTable : [ * const :: std :: os :: raw :: c_char ; 374usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kIDLNameSortPositionTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kIDLNameSortPositionTableE" ] pub static mut nsCSSProps_kIDLNameSortPositionTable : [ i32 ; 374usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19gPropertyUseCounterE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19gPropertyUseCounterE" ] pub static mut nsCSSProps_gPropertyUseCounter : [ root :: mozilla :: UseCounter ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kAnimationDirectionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kAnimationDirectionKTableE" ] pub static mut nsCSSProps_kAnimationDirectionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps24kAnimationFillModeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps24kAnimationFillModeKTableE" ] pub static mut nsCSSProps_kAnimationFillModeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps30kAnimationIterationCountKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps30kAnimationIterationCountKTableE" ] pub static mut nsCSSProps_kAnimationIterationCountKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kAnimationPlayStateKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kAnimationPlayStateKTableE" ] pub static mut nsCSSProps_kAnimationPlayStateKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps30kAnimationTimingFunctionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps30kAnimationTimingFunctionKTableE" ] pub static mut nsCSSProps_kAnimationTimingFunctionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kAppearanceKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kAppearanceKTableE" ] pub static mut nsCSSProps_kAppearanceKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps14kAzimuthKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps14kAzimuthKTableE" ] pub static mut nsCSSProps_kAzimuthKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kBackfaceVisibilityKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kBackfaceVisibilityKTableE" ] pub static mut nsCSSProps_kBackfaceVisibilityKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kTransformStyleKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kTransformStyleKTableE" ] pub static mut nsCSSProps_kTransformStyleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps27kImageLayerAttachmentKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps27kImageLayerAttachmentKTableE" ] pub static mut nsCSSProps_kImageLayerAttachmentKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps23kBackgroundOriginKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps23kBackgroundOriginKTableE" ] pub static mut nsCSSProps_kBackgroundOriginKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kMaskOriginKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kMaskOriginKTableE" ] pub static mut nsCSSProps_kMaskOriginKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kImageLayerPositionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kImageLayerPositionKTableE" ] pub static mut nsCSSProps_kImageLayerPositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps23kImageLayerRepeatKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps23kImageLayerRepeatKTableE" ] pub static mut nsCSSProps_kImageLayerRepeatKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps27kImageLayerRepeatPartKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps27kImageLayerRepeatPartKTableE" ] pub static mut nsCSSProps_kImageLayerRepeatPartKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kImageLayerSizeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kImageLayerSizeKTableE" ] pub static mut nsCSSProps_kImageLayerSizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps26kImageLayerCompositeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps26kImageLayerCompositeKTableE" ] pub static mut nsCSSProps_kImageLayerCompositeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kImageLayerModeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kImageLayerModeKTableE" ] pub static mut nsCSSProps_kImageLayerModeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kBackgroundClipKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kBackgroundClipKTableE" ] pub static mut nsCSSProps_kBackgroundClipKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps15kMaskClipKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps15kMaskClipKTableE" ] pub static mut nsCSSProps_kMaskClipKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kBlendModeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kBlendModeKTableE" ] pub static mut nsCSSProps_kBlendModeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kBorderCollapseKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kBorderCollapseKTableE" ] pub static mut nsCSSProps_kBorderCollapseKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps24kBorderImageRepeatKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps24kBorderImageRepeatKTableE" ] pub static mut nsCSSProps_kBorderImageRepeatKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps23kBorderImageSliceKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps23kBorderImageSliceKTableE" ] pub static mut nsCSSProps_kBorderImageSliceKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kBorderStyleKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kBorderStyleKTableE" ] pub static mut nsCSSProps_kBorderStyleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kBorderWidthKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kBorderWidthKTableE" ] pub static mut nsCSSProps_kBorderWidthKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps15kBoxAlignKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps15kBoxAlignKTableE" ] pub static mut nsCSSProps_kBoxAlignKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kBoxDecorationBreakKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kBoxDecorationBreakKTableE" ] pub static mut nsCSSProps_kBoxDecorationBreakKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kBoxDirectionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kBoxDirectionKTableE" ] pub static mut nsCSSProps_kBoxDirectionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kBoxOrientKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kBoxOrientKTableE" ] pub static mut nsCSSProps_kBoxOrientKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps14kBoxPackKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps14kBoxPackKTableE" ] pub static mut nsCSSProps_kBoxPackKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps26kClipPathGeometryBoxKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps26kClipPathGeometryBoxKTableE" ] pub static mut nsCSSProps_kClipPathGeometryBoxKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kCounterRangeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kCounterRangeKTableE" ] pub static mut nsCSSProps_kCounterRangeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kCounterSpeakAsKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kCounterSpeakAsKTableE" ] pub static mut nsCSSProps_kCounterSpeakAsKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps27kCounterSymbolsSystemKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps27kCounterSymbolsSystemKTableE" ] pub static mut nsCSSProps_kCounterSymbolsSystemKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kCounterSystemKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kCounterSystemKTableE" ] pub static mut nsCSSProps_kCounterSystemKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps23kDominantBaselineKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps23kDominantBaselineKTableE" ] pub static mut nsCSSProps_kDominantBaselineKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kShapeRadiusKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kShapeRadiusKTableE" ] pub static mut nsCSSProps_kShapeRadiusKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps15kFillRuleKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps15kFillRuleKTableE" ] pub static mut nsCSSProps_kFillRuleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kFilterFunctionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kFilterFunctionKTableE" ] pub static mut nsCSSProps_kFilterFunctionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kImageRenderingKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kImageRenderingKTableE" ] pub static mut nsCSSProps_kImageRenderingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps27kShapeOutsideShapeBoxKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps27kShapeOutsideShapeBoxKTableE" ] pub static mut nsCSSProps_kShapeOutsideShapeBoxKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kShapeRenderingKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kShapeRenderingKTableE" ] pub static mut nsCSSProps_kShapeRenderingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kStrokeLinecapKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kStrokeLinecapKTableE" ] pub static mut nsCSSProps_kStrokeLinecapKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kStrokeLinejoinKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kStrokeLinejoinKTableE" ] pub static mut nsCSSProps_kStrokeLinejoinKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kStrokeContextValueKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kStrokeContextValueKTableE" ] pub static mut nsCSSProps_kStrokeContextValueKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kVectorEffectKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kVectorEffectKTableE" ] pub static mut nsCSSProps_kVectorEffectKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kTextAnchorKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kTextAnchorKTableE" ] pub static mut nsCSSProps_kTextAnchorKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kTextRenderingKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kTextRenderingKTableE" ] pub static mut nsCSSProps_kTextRenderingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kColorAdjustKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kColorAdjustKTableE" ] pub static mut nsCSSProps_kColorAdjustKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kColorInterpolationKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kColorInterpolationKTableE" ] pub static mut nsCSSProps_kColorInterpolationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kColumnFillKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kColumnFillKTableE" ] pub static mut nsCSSProps_kColumnFillKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kColumnSpanKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kColumnSpanKTableE" ] pub static mut nsCSSProps_kColumnSpanKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kBoxPropSourceKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kBoxPropSourceKTableE" ] pub static mut nsCSSProps_kBoxPropSourceKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kBoxShadowTypeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kBoxShadowTypeKTableE" ] pub static mut nsCSSProps_kBoxShadowTypeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kBoxSizingKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kBoxSizingKTableE" ] pub static mut nsCSSProps_kBoxSizingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kCaptionSideKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kCaptionSideKTableE" ] pub static mut nsCSSProps_kCaptionSideKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps12kClearKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps12kClearKTableE" ] pub static mut nsCSSProps_kClearKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps12kColorKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps12kColorKTableE" ] pub static mut nsCSSProps_kColorKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps14kContentKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps14kContentKTableE" ] pub static mut nsCSSProps_kContentKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps33kControlCharacterVisibilityKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps33kControlCharacterVisibilityKTableE" ] pub static mut nsCSSProps_kControlCharacterVisibilityKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps13kCursorKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps13kCursorKTableE" ] pub static mut nsCSSProps_kCursorKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kDirectionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kDirectionKTableE" ] pub static mut nsCSSProps_kDirectionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps14kDisplayKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps14kDisplayKTableE" ] pub static mut nsCSSProps_kDisplayKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kElevationKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kElevationKTableE" ] pub static mut nsCSSProps_kElevationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kEmptyCellsKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kEmptyCellsKTableE" ] pub static mut nsCSSProps_kEmptyCellsKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kAlignAllKeywordsE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kAlignAllKeywordsE" ] pub static mut nsCSSProps_kAlignAllKeywords : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps22kAlignOverflowPositionE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps22kAlignOverflowPositionE" ] pub static mut nsCSSProps_kAlignOverflowPosition : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kAlignSelfPositionE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kAlignSelfPositionE" ] pub static mut nsCSSProps_kAlignSelfPosition : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps12kAlignLegacyE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps12kAlignLegacyE" ] pub static mut nsCSSProps_kAlignLegacy : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kAlignLegacyPositionE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kAlignLegacyPositionE" ] pub static mut nsCSSProps_kAlignLegacyPosition : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps31kAlignAutoNormalStretchBaselineE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps31kAlignAutoNormalStretchBaselineE" ] pub static mut nsCSSProps_kAlignAutoNormalStretchBaseline : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps27kAlignNormalStretchBaselineE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps27kAlignNormalStretchBaselineE" ] pub static mut nsCSSProps_kAlignNormalStretchBaseline : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kAlignNormalBaselineE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kAlignNormalBaselineE" ] pub static mut nsCSSProps_kAlignNormalBaseline : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kAlignContentDistributionE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kAlignContentDistributionE" ] pub static mut nsCSSProps_kAlignContentDistribution : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kAlignContentPositionE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kAlignContentPositionE" ] pub static mut nsCSSProps_kAlignContentPosition : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps31kAutoCompletionAlignJustifySelfE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps31kAutoCompletionAlignJustifySelfE" ] pub static mut nsCSSProps_kAutoCompletionAlignJustifySelf : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kAutoCompletionAlignItemsE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kAutoCompletionAlignItemsE" ] pub static mut nsCSSProps_kAutoCompletionAlignItems : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps34kAutoCompletionAlignJustifyContentE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps34kAutoCompletionAlignJustifyContentE" ] pub static mut nsCSSProps_kAutoCompletionAlignJustifyContent : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kFlexDirectionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kFlexDirectionKTableE" ] pub static mut nsCSSProps_kFlexDirectionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps15kFlexWrapKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps15kFlexWrapKTableE" ] pub static mut nsCSSProps_kFlexWrapKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps12kFloatKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps12kFloatKTableE" ] pub static mut nsCSSProps_kFloatKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kFloatEdgeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kFloatEdgeKTableE" ] pub static mut nsCSSProps_kFloatEdgeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kFontDisplayKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kFontDisplayKTableE" ] pub static mut nsCSSProps_kFontDisplayKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps11kFontKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps11kFontKTableE" ] pub static mut nsCSSProps_kFontKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kFontKerningKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kFontKerningKTableE" ] pub static mut nsCSSProps_kFontKerningKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps15kFontSizeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps15kFontSizeKTableE" ] pub static mut nsCSSProps_kFontSizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kFontSmoothingKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kFontSmoothingKTableE" ] pub static mut nsCSSProps_kFontSmoothingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kFontStretchKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kFontStretchKTableE" ] pub static mut nsCSSProps_kFontStretchKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kFontStyleKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kFontStyleKTableE" ] pub static mut nsCSSProps_kFontStyleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kFontSynthesisKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kFontSynthesisKTableE" ] pub static mut nsCSSProps_kFontSynthesisKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kFontVariantKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kFontVariantKTableE" ] pub static mut nsCSSProps_kFontVariantKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps28kFontVariantAlternatesKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps28kFontVariantAlternatesKTableE" ] pub static mut nsCSSProps_kFontVariantAlternatesKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps33kFontVariantAlternatesFuncsKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps33kFontVariantAlternatesFuncsKTableE" ] pub static mut nsCSSProps_kFontVariantAlternatesFuncsKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps22kFontVariantCapsKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps22kFontVariantCapsKTableE" ] pub static mut nsCSSProps_kFontVariantCapsKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps27kFontVariantEastAsianKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps27kFontVariantEastAsianKTableE" ] pub static mut nsCSSProps_kFontVariantEastAsianKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps27kFontVariantLigaturesKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps27kFontVariantLigaturesKTableE" ] pub static mut nsCSSProps_kFontVariantLigaturesKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kFontVariantNumericKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kFontVariantNumericKTableE" ] pub static mut nsCSSProps_kFontVariantNumericKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps26kFontVariantPositionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps26kFontVariantPositionKTableE" ] pub static mut nsCSSProps_kFontVariantPositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kFontWeightKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kFontWeightKTableE" ] pub static mut nsCSSProps_kFontWeightKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kGridAutoFlowKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kGridAutoFlowKTableE" ] pub static mut nsCSSProps_kGridAutoFlowKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps23kGridTrackBreadthKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps23kGridTrackBreadthKTableE" ] pub static mut nsCSSProps_kGridTrackBreadthKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps14kHyphensKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps14kHyphensKTableE" ] pub static mut nsCSSProps_kHyphensKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps23kImageOrientationKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps23kImageOrientationKTableE" ] pub static mut nsCSSProps_kImageOrientationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps27kImageOrientationFlipKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps27kImageOrientationFlipKTableE" ] pub static mut nsCSSProps_kImageOrientationFlipKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kIsolationKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kIsolationKTableE" ] pub static mut nsCSSProps_kIsolationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps14kIMEModeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps14kIMEModeKTableE" ] pub static mut nsCSSProps_kIMEModeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kLineHeightKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kLineHeightKTableE" ] pub static mut nsCSSProps_kLineHeightKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps24kListStylePositionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps24kListStylePositionKTableE" ] pub static mut nsCSSProps_kListStylePositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps15kMaskTypeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps15kMaskTypeKTableE" ] pub static mut nsCSSProps_kMaskTypeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kMathVariantKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kMathVariantKTableE" ] pub static mut nsCSSProps_kMathVariantKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kMathDisplayKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kMathDisplayKTableE" ] pub static mut nsCSSProps_kMathDisplayKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps14kContainKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps14kContainKTableE" ] pub static mut nsCSSProps_kContainKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kContextOpacityKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kContextOpacityKTableE" ] pub static mut nsCSSProps_kContextOpacityKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kContextPatternKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kContextPatternKTableE" ] pub static mut nsCSSProps_kContextPatternKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kObjectFitKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kObjectFitKTableE" ] pub static mut nsCSSProps_kObjectFitKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps13kOrientKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps13kOrientKTableE" ] pub static mut nsCSSProps_kOrientKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kOutlineStyleKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kOutlineStyleKTableE" ] pub static mut nsCSSProps_kOutlineStyleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps15kOverflowKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps15kOverflowKTableE" ] pub static mut nsCSSProps_kOverflowKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kOverflowSubKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kOverflowSubKTableE" ] pub static mut nsCSSProps_kOverflowSubKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps22kOverflowClipBoxKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps22kOverflowClipBoxKTableE" ] pub static mut nsCSSProps_kOverflowClipBoxKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kOverflowWrapKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kOverflowWrapKTableE" ] pub static mut nsCSSProps_kOverflowWrapKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kPageBreakKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kPageBreakKTableE" ] pub static mut nsCSSProps_kPageBreakKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps22kPageBreakInsideKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps22kPageBreakInsideKTableE" ] pub static mut nsCSSProps_kPageBreakInsideKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kPageMarksKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kPageMarksKTableE" ] pub static mut nsCSSProps_kPageMarksKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps15kPageSizeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps15kPageSizeKTableE" ] pub static mut nsCSSProps_kPageSizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps12kPitchKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps12kPitchKTableE" ] pub static mut nsCSSProps_kPitchKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kPointerEventsKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kPointerEventsKTableE" ] pub static mut nsCSSProps_kPointerEventsKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps15kPositionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps15kPositionKTableE" ] pub static mut nsCSSProps_kPositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps26kRadialGradientShapeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps26kRadialGradientShapeKTableE" ] pub static mut nsCSSProps_kRadialGradientShapeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kRadialGradientSizeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kRadialGradientSizeKTableE" ] pub static mut nsCSSProps_kRadialGradientSizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps31kRadialGradientLegacySizeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps31kRadialGradientLegacySizeKTableE" ] pub static mut nsCSSProps_kRadialGradientLegacySizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps13kResizeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps13kResizeKTableE" ] pub static mut nsCSSProps_kResizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kRubyAlignKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kRubyAlignKTableE" ] pub static mut nsCSSProps_kRubyAlignKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kRubyPositionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kRubyPositionKTableE" ] pub static mut nsCSSProps_kRubyPositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kScrollBehaviorKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kScrollBehaviorKTableE" ] pub static mut nsCSSProps_kScrollBehaviorKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kOverscrollBehaviorKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kOverscrollBehaviorKTableE" ] pub static mut nsCSSProps_kOverscrollBehaviorKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kScrollSnapTypeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kScrollSnapTypeKTableE" ] pub static mut nsCSSProps_kScrollSnapTypeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps12kSpeakKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps12kSpeakKTableE" ] pub static mut nsCSSProps_kSpeakKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kSpeakHeaderKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kSpeakHeaderKTableE" ] pub static mut nsCSSProps_kSpeakHeaderKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kSpeakNumeralKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kSpeakNumeralKTableE" ] pub static mut nsCSSProps_kSpeakNumeralKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps23kSpeakPunctuationKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps23kSpeakPunctuationKTableE" ] pub static mut nsCSSProps_kSpeakPunctuationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kSpeechRateKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kSpeechRateKTableE" ] pub static mut nsCSSProps_kSpeechRateKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kStackSizingKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kStackSizingKTableE" ] pub static mut nsCSSProps_kStackSizingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kTableLayoutKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kTableLayoutKTableE" ] pub static mut nsCSSProps_kTableLayoutKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kTextAlignKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kTextAlignKTableE" ] pub static mut nsCSSProps_kTextAlignKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kTextAlignLastKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kTextAlignLastKTableE" ] pub static mut nsCSSProps_kTextAlignLastKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kTextCombineUprightKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kTextCombineUprightKTableE" ] pub static mut nsCSSProps_kTextCombineUprightKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps25kTextDecorationLineKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps25kTextDecorationLineKTableE" ] pub static mut nsCSSProps_kTextDecorationLineKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps26kTextDecorationStyleKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps26kTextDecorationStyleKTableE" ] pub static mut nsCSSProps_kTextDecorationStyleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps27kTextEmphasisPositionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps27kTextEmphasisPositionKTableE" ] pub static mut nsCSSProps_kTextEmphasisPositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps28kTextEmphasisStyleFillKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps28kTextEmphasisStyleFillKTableE" ] pub static mut nsCSSProps_kTextEmphasisStyleFillKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps29kTextEmphasisStyleShapeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps29kTextEmphasisStyleShapeKTableE" ] pub static mut nsCSSProps_kTextEmphasisStyleShapeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kTextJustifyKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kTextJustifyKTableE" ] pub static mut nsCSSProps_kTextJustifyKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps22kTextOrientationKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps22kTextOrientationKTableE" ] pub static mut nsCSSProps_kTextOrientationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kTextOverflowKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kTextOverflowKTableE" ] pub static mut nsCSSProps_kTextOverflowKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kTextSizeAdjustKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kTextSizeAdjustKTableE" ] pub static mut nsCSSProps_kTextSizeAdjustKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kTextTransformKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kTextTransformKTableE" ] pub static mut nsCSSProps_kTextTransformKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kTouchActionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kTouchActionKTableE" ] pub static mut nsCSSProps_kTouchActionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps15kTopLayerKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps15kTopLayerKTableE" ] pub static mut nsCSSProps_kTopLayerKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kTransformBoxKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kTransformBoxKTableE" ] pub static mut nsCSSProps_kTransformBoxKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps31kTransitionTimingFunctionKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps31kTransitionTimingFunctionKTableE" ] pub static mut nsCSSProps_kTransitionTimingFunctionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kUnicodeBidiKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kUnicodeBidiKTableE" ] pub static mut nsCSSProps_kUnicodeBidiKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kUserFocusKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kUserFocusKTableE" ] pub static mut nsCSSProps_kUserFocusKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kUserInputKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kUserInputKTableE" ] pub static mut nsCSSProps_kUserInputKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kUserModifyKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kUserModifyKTableE" ] pub static mut nsCSSProps_kUserModifyKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kUserSelectKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kUserSelectKTableE" ] pub static mut nsCSSProps_kUserSelectKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps20kVerticalAlignKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps20kVerticalAlignKTableE" ] pub static mut nsCSSProps_kVerticalAlignKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kVisibilityKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kVisibilityKTableE" ] pub static mut nsCSSProps_kVisibilityKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps13kVolumeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps13kVolumeKTableE" ] pub static mut nsCSSProps_kVolumeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps17kWhitespaceKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps17kWhitespaceKTableE" ] pub static mut nsCSSProps_kWhitespaceKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps12kWidthKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps12kWidthKTableE" ] pub static mut nsCSSProps_kWidthKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps21kWindowDraggingKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps21kWindowDraggingKTableE" ] pub static mut nsCSSProps_kWindowDraggingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps19kWindowShadowKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps19kWindowShadowKTableE" ] pub static mut nsCSSProps_kWindowShadowKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps16kWordBreakKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps16kWordBreakKTableE" ] pub static mut nsCSSProps_kWordBreakKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN10nsCSSProps18kWritingModeKTableE" ] + # [ link_name = "\u{1}__ZN10nsCSSProps18kWritingModeKTableE" ] pub static mut nsCSSProps_kWritingModeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } # [ test ] fn bindgen_test_layout_nsCSSProps ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSProps > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsCSSProps ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSProps > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsCSSProps ) ) ) ; } impl Clone for nsCSSProps { fn clone ( & self ) -> Self { * self } } /// Class to safely handle main-thread-only pointers off the main thread. @@ -1486,7 +1489,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// All structs and classes that might be accessed on other threads should store /// an nsMainThreadPtrHandle rather than an nsCOMPtr. # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsMainThreadPtrHolder < T > { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mRawPtr : * mut T , pub mStrict : bool , pub mMainThreadEventTarget : root :: nsCOMPtr , pub mName : * const :: std :: os :: raw :: c_char , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } pub type nsMainThreadPtrHolder_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsMainThreadPtrHandle < T > { pub mPtr : root :: RefPtr < root :: nsMainThreadPtrHolder < T > > , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsCSSUnit { eCSSUnit_Null = 0 , eCSSUnit_Auto = 1 , eCSSUnit_Inherit = 2 , eCSSUnit_Initial = 3 , eCSSUnit_Unset = 4 , eCSSUnit_None = 5 , eCSSUnit_Normal = 6 , eCSSUnit_System_Font = 7 , eCSSUnit_All = 8 , eCSSUnit_Dummy = 9 , eCSSUnit_DummyInherit = 10 , eCSSUnit_String = 11 , eCSSUnit_Ident = 12 , eCSSUnit_Attr = 14 , eCSSUnit_Local_Font = 15 , eCSSUnit_Font_Format = 16 , eCSSUnit_Element = 17 , eCSSUnit_Array = 20 , eCSSUnit_Counter = 21 , eCSSUnit_Counters = 22 , eCSSUnit_Cubic_Bezier = 23 , eCSSUnit_Steps = 24 , eCSSUnit_Symbols = 25 , eCSSUnit_Function = 26 , eCSSUnit_Calc = 30 , eCSSUnit_Calc_Plus = 31 , eCSSUnit_Calc_Minus = 32 , eCSSUnit_Calc_Times_L = 33 , eCSSUnit_Calc_Times_R = 34 , eCSSUnit_Calc_Divided = 35 , eCSSUnit_URL = 40 , eCSSUnit_Image = 41 , eCSSUnit_Gradient = 42 , eCSSUnit_TokenStream = 43 , eCSSUnit_GridTemplateAreas = 44 , eCSSUnit_Pair = 50 , eCSSUnit_Triplet = 51 , eCSSUnit_Rect = 52 , eCSSUnit_List = 53 , eCSSUnit_ListDep = 54 , eCSSUnit_SharedList = 55 , eCSSUnit_PairList = 56 , eCSSUnit_PairListDep = 57 , eCSSUnit_FontFamilyList = 58 , eCSSUnit_AtomIdent = 60 , eCSSUnit_Integer = 70 , eCSSUnit_Enumerated = 71 , eCSSUnit_EnumColor = 80 , eCSSUnit_RGBColor = 81 , eCSSUnit_RGBAColor = 82 , eCSSUnit_HexColor = 83 , eCSSUnit_ShortHexColor = 84 , eCSSUnit_HexColorAlpha = 85 , eCSSUnit_ShortHexColorAlpha = 86 , eCSSUnit_PercentageRGBColor = 87 , eCSSUnit_PercentageRGBAColor = 88 , eCSSUnit_HSLColor = 89 , eCSSUnit_HSLAColor = 90 , eCSSUnit_ComplexColor = 91 , eCSSUnit_Percent = 100 , eCSSUnit_Number = 101 , eCSSUnit_ViewportWidth = 700 , eCSSUnit_ViewportHeight = 701 , eCSSUnit_ViewportMin = 702 , eCSSUnit_ViewportMax = 703 , eCSSUnit_EM = 800 , eCSSUnit_XHeight = 801 , eCSSUnit_Char = 802 , eCSSUnit_RootEM = 803 , eCSSUnit_Point = 900 , eCSSUnit_Inch = 901 , eCSSUnit_Millimeter = 902 , eCSSUnit_Centimeter = 903 , eCSSUnit_Pica = 904 , eCSSUnit_Quarter = 905 , eCSSUnit_Pixel = 906 , eCSSUnit_Degree = 1000 , eCSSUnit_Grad = 1001 , eCSSUnit_Radian = 1002 , eCSSUnit_Turn = 1003 , eCSSUnit_Hertz = 2000 , eCSSUnit_Kilohertz = 2001 , eCSSUnit_Seconds = 3000 , eCSSUnit_Milliseconds = 3001 , eCSSUnit_FlexFraction = 4000 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValue { pub mUnit : root :: nsCSSUnit , pub mValue : root :: nsCSSValue__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsCSSValue__bindgen_ty_1 { pub mInt : root :: __BindgenUnionField < i32 > , pub mFloat : root :: __BindgenUnionField < f32 > , pub mString : root :: __BindgenUnionField < * mut root :: nsStringBuffer > , pub mColor : root :: __BindgenUnionField < root :: nscolor > , pub mAtom : root :: __BindgenUnionField < * mut root :: nsAtom > , pub mArray : root :: __BindgenUnionField < * mut root :: nsCSSValue_Array > , pub mURL : root :: __BindgenUnionField < * mut root :: mozilla :: css :: URLValue > , pub mImage : root :: __BindgenUnionField < * mut root :: mozilla :: css :: ImageValue > , pub mGridTemplateAreas : root :: __BindgenUnionField < * mut root :: mozilla :: css :: GridTemplateAreasValue > , pub mGradient : root :: __BindgenUnionField < * mut root :: nsCSSValueGradient > , pub mTokenStream : root :: __BindgenUnionField < * mut root :: nsCSSValueTokenStream > , pub mPair : root :: __BindgenUnionField < * mut root :: nsCSSValuePair_heap > , pub mRect : root :: __BindgenUnionField < * mut root :: nsCSSRect_heap > , pub mTriplet : root :: __BindgenUnionField < * mut root :: nsCSSValueTriplet_heap > , pub mList : root :: __BindgenUnionField < * mut root :: nsCSSValueList_heap > , pub mListDependent : root :: __BindgenUnionField < * mut root :: nsCSSValueList > , pub mSharedList : root :: __BindgenUnionField < * mut root :: nsCSSValueSharedList > , pub mPairList : root :: __BindgenUnionField < * mut root :: nsCSSValuePairList_heap > , pub mPairListDependent : root :: __BindgenUnionField < * mut root :: nsCSSValuePairList > , pub mFloatColor : root :: __BindgenUnionField < * mut root :: nsCSSValueFloatColor > , pub mFontFamilyList : root :: __BindgenUnionField < * mut root :: mozilla :: SharedFontList > , pub mComplexColor : root :: __BindgenUnionField < * mut root :: mozilla :: css :: ComplexColorValue > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsCSSValue__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValue__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValue__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValue__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mInt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mInt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mFloat as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mAtom as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mAtom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mArray as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mArray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mURL as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mURL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mGridTemplateAreas as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mGridTemplateAreas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mGradient as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mGradient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mTokenStream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mTokenStream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mPair as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mPair ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mRect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mRect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mTriplet as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mTriplet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mListDependent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mListDependent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mSharedList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mSharedList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mPairList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mPairList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mPairListDependent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mPairListDependent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mFloatColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mFloatColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mFontFamilyList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mFontFamilyList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mComplexColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mComplexColor ) ) ) ; } impl Clone for nsCSSValue__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsCSSValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValue > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsCSSValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue ) ) . mUnit as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue ) , "::" , stringify ! ( mUnit ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValue_Array { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mCount : usize , pub mArray : [ root :: nsCSSValue ; 1usize ] , } pub type nsCSSValue_Array_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsCSSValue_Array ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValue_Array > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsCSSValue_Array ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValue_Array > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValue_Array ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue_Array ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue_Array ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue_Array ) ) . mCount as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue_Array ) , "::" , stringify ! ( mCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue_Array ) ) . mArray as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue_Array ) , "::" , stringify ! ( mArray ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueList { pub mValue : root :: nsCSSValue , pub mNext : * mut root :: nsCSSValueList , } # [ test ] fn bindgen_test_layout_nsCSSValueList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueList > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueList ) ) . mValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueList ) , "::" , stringify ! ( mValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueList ) ) . mNext as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueList ) , "::" , stringify ! ( mNext ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueList_heap { pub _base : root :: nsCSSValueList , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSValueList_heap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValueList_heap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueList_heap > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueList_heap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueList_heap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueList_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueList_heap ) ) . mRefCnt as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueList_heap ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueSharedList { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mHead : * mut root :: nsCSSValueList , } pub type nsCSSValueSharedList_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsCSSValueSharedList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueSharedList > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueSharedList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueSharedList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueSharedList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueSharedList ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueSharedList ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueSharedList ) ) . mHead as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueSharedList ) , "::" , stringify ! ( mHead ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSRect { pub mTop : root :: nsCSSValue , pub mRight : root :: nsCSSValue , pub mBottom : root :: nsCSSValue , pub mLeft : root :: nsCSSValue , } pub type nsCSSRect_side_type = * mut root :: nsCSSValue ; extern "C" { - # [ link_name = "\u{1}_ZN9nsCSSRect5sidesE" ] + # [ link_name = "\u{1}__ZN9nsCSSRect5sidesE" ] pub static mut nsCSSRect_sides : [ root :: nsCSSRect_side_type ; 4usize ] ; } # [ test ] fn bindgen_test_layout_nsCSSRect ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSRect > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( nsCSSRect ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSRect > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSRect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSRect ) ) . mTop as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" , stringify ! ( mTop ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSRect ) ) . mRight as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" , stringify ! ( mRight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSRect ) ) . mBottom as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" , stringify ! ( mBottom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSRect ) ) . mLeft as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" , stringify ! ( mLeft ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSRect_heap { pub _base : root :: nsCSSRect , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSRect_heap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSRect_heap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSRect_heap > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( nsCSSRect_heap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSRect_heap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSRect_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSRect_heap ) ) . mRefCnt as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSRect_heap ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValuePair { pub mXValue : root :: nsCSSValue , pub mYValue : root :: nsCSSValue , } # [ test ] fn bindgen_test_layout_nsCSSValuePair ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValuePair > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsCSSValuePair ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValuePair > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValuePair ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePair ) ) . mXValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePair ) , "::" , stringify ! ( mXValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePair ) ) . mYValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePair ) , "::" , stringify ! ( mYValue ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValuePair_heap { pub _base : root :: nsCSSValuePair , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSValuePair_heap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValuePair_heap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValuePair_heap > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsCSSValuePair_heap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValuePair_heap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValuePair_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePair_heap ) ) . mRefCnt as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePair_heap ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueTriplet { pub mXValue : root :: nsCSSValue , pub mYValue : root :: nsCSSValue , pub mZValue : root :: nsCSSValue , } # [ test ] fn bindgen_test_layout_nsCSSValueTriplet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueTriplet > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueTriplet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueTriplet > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueTriplet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTriplet ) ) . mXValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) , "::" , stringify ! ( mXValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTriplet ) ) . mYValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) , "::" , stringify ! ( mYValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTriplet ) ) . mZValue as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) , "::" , stringify ! ( mZValue ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueTriplet_heap { pub _base : root :: nsCSSValueTriplet , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSValueTriplet_heap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValueTriplet_heap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueTriplet_heap > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueTriplet_heap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueTriplet_heap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueTriplet_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTriplet_heap ) ) . mRefCnt as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTriplet_heap ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValuePairList { pub mXValue : root :: nsCSSValue , pub mYValue : root :: nsCSSValue , pub mNext : * mut root :: nsCSSValuePairList , } # [ test ] fn bindgen_test_layout_nsCSSValuePairList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValuePairList > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsCSSValuePairList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValuePairList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValuePairList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePairList ) ) . mXValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePairList ) , "::" , stringify ! ( mXValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePairList ) ) . mYValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePairList ) , "::" , stringify ! ( mYValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePairList ) ) . mNext as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePairList ) , "::" , stringify ! ( mNext ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValuePairList_heap { pub _base : root :: nsCSSValuePairList , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSValuePairList_heap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValuePairList_heap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValuePairList_heap > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsCSSValuePairList_heap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValuePairList_heap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValuePairList_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePairList_heap ) ) . mRefCnt as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePairList_heap ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueGradientStop { pub mLocation : root :: nsCSSValue , pub mColor : root :: nsCSSValue , pub mIsInterpolationHint : bool , } # [ test ] fn bindgen_test_layout_nsCSSValueGradientStop ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueGradientStop > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueGradientStop ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueGradientStop > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueGradientStop ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradientStop ) ) . mLocation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradientStop ) , "::" , stringify ! ( mLocation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradientStop ) ) . mColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradientStop ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradientStop ) ) . mIsInterpolationHint as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradientStop ) , "::" , stringify ! ( mIsInterpolationHint ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueGradient { pub mIsRadial : bool , pub mIsRepeating : bool , pub mIsLegacySyntax : bool , pub mIsMozLegacySyntax : bool , pub mIsExplicitSize : bool , pub mBgPos : root :: nsCSSValuePair , pub mAngle : root :: nsCSSValue , pub mRadialValues : [ root :: nsCSSValue ; 2usize ] , pub mStops : root :: nsTArray < root :: nsCSSValueGradientStop > , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSValueGradient_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValueGradient ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueGradient > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueGradient ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueGradient > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueGradient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsRadial as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mIsRadial ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsRepeating as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mIsRepeating ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsLegacySyntax as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mIsLegacySyntax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsMozLegacySyntax as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mIsMozLegacySyntax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsExplicitSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mIsExplicitSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mBgPos as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mBgPos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mAngle as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mAngle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mRadialValues as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mRadialValues ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mStops as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mStops ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mRefCnt as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] pub struct nsCSSValueTokenStream { pub mRefCnt : root :: nsAutoRefCnt , pub mPropertyID : root :: nsCSSPropertyID , pub mShorthandPropertyID : root :: nsCSSPropertyID , pub mTokenStream : ::nsstring::nsStringRepr , pub mBaseURI : root :: nsCOMPtr , pub mSheetURI : root :: nsCOMPtr , pub mSheetPrincipal : root :: nsCOMPtr , pub mLineNumber : u32 , pub mLineOffset : u32 , pub mLevel : root :: mozilla :: SheetType , } pub type nsCSSValueTokenStream_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValueTokenStream ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueTokenStream > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueTokenStream ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueTokenStream > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueTokenStream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mPropertyID as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mPropertyID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mShorthandPropertyID as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mShorthandPropertyID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mTokenStream as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mTokenStream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mBaseURI as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mBaseURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mSheetURI as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mSheetURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mSheetPrincipal as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mSheetPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mLineNumber as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mLineNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mLineOffset as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mLineOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mLevel as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mLevel ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueFloatColor { pub mRefCnt : root :: nsAutoRefCnt , pub mComponent1 : f32 , pub mComponent2 : f32 , pub mComponent3 : f32 , pub mAlpha : f32 , } pub type nsCSSValueFloatColor_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValueFloatColor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueFloatColor > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueFloatColor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueFloatColor > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueFloatColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueFloatColor ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mComponent1 as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mComponent2 as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mComponent3 as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mAlpha as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueFloatColor ) , "::" , stringify ! ( mAlpha ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct imgIContainer { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct imgIRequest { pub _base : root :: nsIRequest , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct imgIRequest_COMTypeInfo { pub _address : u8 , } pub const imgIRequest_STATUS_NONE : root :: imgIRequest__bindgen_ty_1 = 0 ; pub const imgIRequest_STATUS_SIZE_AVAILABLE : root :: imgIRequest__bindgen_ty_1 = 1 ; pub const imgIRequest_STATUS_LOAD_COMPLETE : root :: imgIRequest__bindgen_ty_1 = 2 ; pub const imgIRequest_STATUS_ERROR : root :: imgIRequest__bindgen_ty_1 = 4 ; pub const imgIRequest_STATUS_FRAME_COMPLETE : root :: imgIRequest__bindgen_ty_1 = 8 ; pub const imgIRequest_STATUS_DECODE_COMPLETE : root :: imgIRequest__bindgen_ty_1 = 16 ; pub const imgIRequest_STATUS_IS_ANIMATED : root :: imgIRequest__bindgen_ty_1 = 32 ; pub const imgIRequest_STATUS_HAS_TRANSPARENCY : root :: imgIRequest__bindgen_ty_1 = 64 ; pub type imgIRequest__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; pub const imgIRequest_CORS_NONE : root :: imgIRequest__bindgen_ty_2 = 1 ; pub const imgIRequest_CORS_ANONYMOUS : root :: imgIRequest__bindgen_ty_2 = 2 ; pub const imgIRequest_CORS_USE_CREDENTIALS : root :: imgIRequest__bindgen_ty_2 = 3 ; pub type imgIRequest__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const imgIRequest_CATEGORY_FRAME_INIT : root :: imgIRequest__bindgen_ty_3 = 1 ; pub const imgIRequest_CATEGORY_SIZE_QUERY : root :: imgIRequest__bindgen_ty_3 = 2 ; pub const imgIRequest_CATEGORY_DISPLAY : root :: imgIRequest__bindgen_ty_3 = 4 ; pub type imgIRequest__bindgen_ty_3 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_imgIRequest ( ) { assert_eq ! ( :: std :: mem :: size_of :: < imgIRequest > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( imgIRequest ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < imgIRequest > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( imgIRequest ) ) ) ; } impl Clone for imgIRequest { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsISecurityInfoProvider { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsISecurityInfoProvider_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsISecurityInfoProvider ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsISecurityInfoProvider > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsISecurityInfoProvider ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsISecurityInfoProvider > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsISecurityInfoProvider ) ) ) ; } impl Clone for nsISecurityInfoProvider { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsISupportsPriority { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsISupportsPriority_COMTypeInfo { pub _address : u8 , } pub const nsISupportsPriority_PRIORITY_HIGHEST : root :: nsISupportsPriority__bindgen_ty_1 = -20 ; pub const nsISupportsPriority_PRIORITY_HIGH : root :: nsISupportsPriority__bindgen_ty_1 = -10 ; pub const nsISupportsPriority_PRIORITY_NORMAL : root :: nsISupportsPriority__bindgen_ty_1 = 0 ; pub const nsISupportsPriority_PRIORITY_LOW : root :: nsISupportsPriority__bindgen_ty_1 = 10 ; pub const nsISupportsPriority_PRIORITY_LOWEST : root :: nsISupportsPriority__bindgen_ty_1 = 20 ; pub type nsISupportsPriority__bindgen_ty_1 = :: std :: os :: raw :: c_int ; # [ test ] fn bindgen_test_layout_nsISupportsPriority ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsISupportsPriority > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsISupportsPriority ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsISupportsPriority > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsISupportsPriority ) ) ) ; } impl Clone for nsISupportsPriority { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsITimedChannel { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsITimedChannel_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsITimedChannel ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsITimedChannel > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsITimedChannel ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsITimedChannel > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsITimedChannel ) ) ) ; } impl Clone for nsITimedChannel { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ProxyBehaviour { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct imgRequestProxy { pub _base : root :: imgIRequest , pub _base_1 : root :: mozilla :: image :: IProgressObserver , pub _base_2 : root :: nsISupportsPriority , pub _base_3 : root :: nsISecurityInfoProvider , pub _base_4 : root :: nsITimedChannel , pub mRefCnt : root :: nsAutoRefCnt , pub mBehaviour : root :: mozilla :: UniquePtr < root :: ProxyBehaviour > , pub mURI : root :: RefPtr < root :: imgRequestProxy_ImageURL > , pub mListener : * mut root :: imgINotificationObserver , pub mLoadGroup : root :: nsCOMPtr , pub mTabGroup : root :: RefPtr < root :: mozilla :: dom :: TabGroup > , pub mEventTarget : root :: nsCOMPtr , pub mLoadFlags : root :: nsLoadFlags , pub mLockCount : u32 , pub mAnimationConsumers : u32 , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 3usize ] , } pub type imgRequestProxy_Image = root :: mozilla :: image :: Image ; pub type imgRequestProxy_ImageURL = root :: mozilla :: image :: ImageURL ; pub type imgRequestProxy_ProgressTracker = root :: mozilla :: image :: ProgressTracker ; pub type imgRequestProxy_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct imgRequestProxy_imgCancelRunnable { pub _base : root :: mozilla :: Runnable , pub mOwner : root :: RefPtr < root :: imgRequestProxy > , pub mStatus : root :: nsresult , } # [ test ] fn bindgen_test_layout_imgRequestProxy_imgCancelRunnable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < imgRequestProxy_imgCancelRunnable > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( imgRequestProxy_imgCancelRunnable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < imgRequestProxy_imgCancelRunnable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( imgRequestProxy_imgCancelRunnable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const imgRequestProxy_imgCancelRunnable ) ) . mOwner as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( imgRequestProxy_imgCancelRunnable ) , "::" , stringify ! ( mOwner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const imgRequestProxy_imgCancelRunnable ) ) . mStatus as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( imgRequestProxy_imgCancelRunnable ) , "::" , stringify ! ( mStatus ) ) ) ; } # [ test ] fn bindgen_test_layout_imgRequestProxy ( ) { assert_eq ! ( :: std :: mem :: size_of :: < imgRequestProxy > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( imgRequestProxy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < imgRequestProxy > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( imgRequestProxy ) ) ) ; } impl imgRequestProxy { # [ inline ] pub fn mCanceled ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mCanceled ( & mut self , val : bool ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsInLoadGroup ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsInLoadGroup ( & mut self , val : bool ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mForceDispatchLoadGroup ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mForceDispatchLoadGroup ( & mut self , val : bool ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mListenerIsStrongRef ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mListenerIsStrongRef ( & mut self , val : bool ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mDecodeRequested ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDecodeRequested ( & mut self , val : bool ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mDeferNotifications ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDeferNotifications ( & mut self , val : bool ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mHadListener ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x40 as u8 ; let val = ( unit_field_val & mask ) >> 6usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHadListener ( & mut self , val : bool ) { let mask = 0x40 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 6usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mHadDispatch ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x80 as u8 ; let val = ( unit_field_val & mask ) >> 7usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHadDispatch ( & mut self , val : bool ) { let mask = 0x80 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 7usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mCanceled : bool , mIsInLoadGroup : bool , mForceDispatchLoadGroup : bool , mListenerIsStrongRef : bool , mDecodeRequested : bool , mDeferNotifications : bool , mHadListener : bool , mHadDispatch : bool ) -> u8 { ( ( ( ( ( ( ( ( 0 | ( ( mCanceled as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mIsInLoadGroup as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( mForceDispatchLoadGroup as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( mListenerIsStrongRef as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( mDecodeRequested as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( mDeferNotifications as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) | ( ( mHadListener as u8 as u8 ) << 6usize ) & ( 0x40 as u8 ) ) | ( ( mHadDispatch as u8 as u8 ) << 7usize ) & ( 0x80 as u8 ) ) } } # [ repr ( C ) ] pub struct nsStyleFont { pub mFont : root :: nsFont , pub mSize : root :: nscoord , pub mFontSizeFactor : f32 , pub mFontSizeOffset : root :: nscoord , pub mFontSizeKeyword : u8 , pub mGenericID : u8 , pub mScriptLevel : i8 , pub mMathVariant : u8 , pub mMathDisplay : u8 , pub mMinFontSizeRatio : u8 , pub mExplicitLanguage : bool , pub mAllowZoom : bool , pub mScriptUnconstrainedSize : root :: nscoord , pub mScriptMinSize : root :: nscoord , pub mScriptSizeMultiplier : f32 , pub mLanguage : root :: RefPtr < root :: nsAtom > , } pub const nsStyleFont_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleFont ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleFont > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( nsStyleFont ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleFont > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleFont ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mFont as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mFont ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mSize as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mFontSizeFactor as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mFontSizeFactor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mFontSizeOffset as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mFontSizeOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mFontSizeKeyword as * const _ as usize } , 108usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mFontSizeKeyword ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mGenericID as * const _ as usize } , 109usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mGenericID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mScriptLevel as * const _ as usize } , 110usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mScriptLevel ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mMathVariant as * const _ as usize } , 111usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mMathVariant ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mMathDisplay as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mMathDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mMinFontSizeRatio as * const _ as usize } , 113usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mMinFontSizeRatio ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mExplicitLanguage as * const _ as usize } , 114usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mExplicitLanguage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mAllowZoom as * const _ as usize } , 115usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mAllowZoom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mScriptUnconstrainedSize as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mScriptUnconstrainedSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mScriptMinSize as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mScriptMinSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mScriptSizeMultiplier as * const _ as usize } , 124usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mScriptSizeMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mLanguage as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mLanguage ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleGradientStop { pub mLocation : root :: nsStyleCoord , pub mColor : root :: nscolor , pub mIsInterpolationHint : bool , } # [ test ] fn bindgen_test_layout_nsStyleGradientStop ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGradientStop > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleGradientStop ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGradientStop > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGradientStop ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradientStop ) ) . mLocation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradientStop ) , "::" , stringify ! ( mLocation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradientStop ) ) . mColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradientStop ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradientStop ) ) . mIsInterpolationHint as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradientStop ) , "::" , stringify ! ( mIsInterpolationHint ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleGradient { pub mShape : u8 , pub mSize : u8 , pub mRepeating : bool , pub mLegacySyntax : bool , pub mMozLegacySyntax : bool , pub mBgPosX : root :: nsStyleCoord , pub mBgPosY : root :: nsStyleCoord , pub mAngle : root :: nsStyleCoord , pub mRadiusX : root :: nsStyleCoord , pub mRadiusY : root :: nsStyleCoord , pub mStops : root :: nsTArray < root :: nsStyleGradientStop > , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , } pub type nsStyleGradient_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsStyleGradient ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGradient > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( nsStyleGradient ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGradient > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGradient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mShape as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mShape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mSize as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mRepeating as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mRepeating ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mLegacySyntax as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mLegacySyntax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mMozLegacySyntax as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mMozLegacySyntax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mBgPosX as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mBgPosX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mBgPosY as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mBgPosY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mAngle as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mAngle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mRadiusX as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mRadiusX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mRadiusY as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mRadiusY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mStops as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mStops ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mRefCnt as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mRefCnt ) ) ) ; } /// A wrapper for an imgRequestProxy that supports off-main-thread creation @@ -1526,22 +1529,22 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// region of an image. (Currently, this feature is only supported with an /// image of type (1)). # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleImage { pub mCachedBIData : root :: mozilla :: UniquePtr < root :: CachedBorderImageData > , pub mType : root :: nsStyleImageType , pub __bindgen_anon_1 : root :: nsStyleImage__bindgen_ty_1 , pub mCropRect : root :: mozilla :: UniquePtr < root :: nsStyleSides > , } pub type nsStyleImage_URLValue = root :: mozilla :: css :: URLValue ; pub type nsStyleImage_URLValueData = root :: mozilla :: css :: URLValueData ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImage__bindgen_ty_1 { pub mImage : root :: __BindgenUnionField < * mut root :: nsStyleImageRequest > , pub mGradient : root :: __BindgenUnionField < * mut root :: nsStyleGradient > , pub mURLValue : root :: __BindgenUnionField < * mut root :: nsStyleImage_URLValue > , pub mElementId : root :: __BindgenUnionField < * mut root :: nsAtom > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleImage__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImage__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImage__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImage__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . mGradient as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( mGradient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . mURLValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( mURLValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . mElementId as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( mElementId ) ) ) ; } impl Clone for nsStyleImage__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleImage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImage > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsStyleImage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage ) ) . mCachedBIData as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage ) , "::" , stringify ! ( mCachedBIData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage ) ) . mType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage ) ) . mCropRect as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage ) , "::" , stringify ! ( mCropRect ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleColor { pub mColor : root :: nscolor , } pub const nsStyleColor_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleColor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleColor > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nsStyleColor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleColor > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColor ) ) . mColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColor ) , "::" , stringify ! ( mColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleImageLayers { pub mAttachmentCount : u32 , pub mClipCount : u32 , pub mOriginCount : u32 , pub mRepeatCount : u32 , pub mPositionXCount : u32 , pub mPositionYCount : u32 , pub mImageCount : u32 , pub mSizeCount : u32 , pub mMaskModeCount : u32 , pub mBlendModeCount : u32 , pub mCompositeCount : u32 , pub mLayers : root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > , } pub const nsStyleImageLayers_shorthand : root :: nsStyleImageLayers__bindgen_ty_1 = 0 ; pub const nsStyleImageLayers_color : root :: nsStyleImageLayers__bindgen_ty_1 = 1 ; pub const nsStyleImageLayers_image : root :: nsStyleImageLayers__bindgen_ty_1 = 2 ; pub const nsStyleImageLayers_repeat : root :: nsStyleImageLayers__bindgen_ty_1 = 3 ; pub const nsStyleImageLayers_positionX : root :: nsStyleImageLayers__bindgen_ty_1 = 4 ; pub const nsStyleImageLayers_positionY : root :: nsStyleImageLayers__bindgen_ty_1 = 5 ; pub const nsStyleImageLayers_clip : root :: nsStyleImageLayers__bindgen_ty_1 = 6 ; pub const nsStyleImageLayers_origin : root :: nsStyleImageLayers__bindgen_ty_1 = 7 ; pub const nsStyleImageLayers_size : root :: nsStyleImageLayers__bindgen_ty_1 = 8 ; pub const nsStyleImageLayers_attachment : root :: nsStyleImageLayers__bindgen_ty_1 = 9 ; pub const nsStyleImageLayers_maskMode : root :: nsStyleImageLayers__bindgen_ty_1 = 10 ; pub const nsStyleImageLayers_composite : root :: nsStyleImageLayers__bindgen_ty_1 = 11 ; pub type nsStyleImageLayers__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleImageLayers_LayerType { Background = 0 , Mask = 1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImageLayers_Size { pub mWidth : root :: nsStyleImageLayers_Size_Dimension , pub mHeight : root :: nsStyleImageLayers_Size_Dimension , pub mWidthType : u8 , pub mHeightType : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImageLayers_Size_Dimension { pub _base : root :: nsStyleCoord_CalcValue , } # [ test ] fn bindgen_test_layout_nsStyleImageLayers_Size_Dimension ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageLayers_Size_Dimension > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers_Size_Dimension ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageLayers_Size_Dimension > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageLayers_Size_Dimension ) ) ) ; } impl Clone for nsStyleImageLayers_Size_Dimension { fn clone ( & self ) -> Self { * self } } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleImageLayers_Size_DimensionType { eContain = 0 , eCover = 1 , eAuto = 2 , eLengthPercentage = 3 , eDimensionType_COUNT = 4 , } # [ test ] fn bindgen_test_layout_nsStyleImageLayers_Size ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageLayers_Size > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers_Size ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageLayers_Size > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageLayers_Size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mWidth as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Size ) , "::" , stringify ! ( mWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mHeight as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Size ) , "::" , stringify ! ( mHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mWidthType as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Size ) , "::" , stringify ! ( mWidthType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mHeightType as * const _ as usize } , 25usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Size ) , "::" , stringify ! ( mHeightType ) ) ) ; } impl Clone for nsStyleImageLayers_Size { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImageLayers_Repeat { pub mXRepeat : root :: mozilla :: StyleImageLayerRepeat , pub mYRepeat : root :: mozilla :: StyleImageLayerRepeat , } # [ test ] fn bindgen_test_layout_nsStyleImageLayers_Repeat ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageLayers_Repeat > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers_Repeat ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageLayers_Repeat > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageLayers_Repeat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Repeat ) ) . mXRepeat as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Repeat ) , "::" , stringify ! ( mXRepeat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Repeat ) ) . mYRepeat as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Repeat ) , "::" , stringify ! ( mYRepeat ) ) ) ; } impl Clone for nsStyleImageLayers_Repeat { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleImageLayers_Layer { pub mImage : root :: nsStyleImage , pub mPosition : root :: mozilla :: Position , pub mSize : root :: nsStyleImageLayers_Size , pub mClip : root :: nsStyleImageLayers_Layer_StyleGeometryBox , pub mOrigin : root :: nsStyleImageLayers_Layer_StyleGeometryBox , pub mAttachment : u8 , pub mBlendMode : u8 , pub mComposite : u8 , pub mMaskMode : u8 , pub mRepeat : root :: nsStyleImageLayers_Repeat , } pub use self :: super :: root :: mozilla :: StyleGeometryBox as nsStyleImageLayers_Layer_StyleGeometryBox ; # [ test ] fn bindgen_test_layout_nsStyleImageLayers_Layer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageLayers_Layer > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers_Layer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageLayers_Layer > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageLayers_Layer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mPosition as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mSize as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mClip as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mClip ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mOrigin as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mOrigin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mAttachment as * const _ as usize } , 86usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mAttachment ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mBlendMode as * const _ as usize } , 87usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mBlendMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mComposite as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mComposite ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mMaskMode as * const _ as usize } , 89usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mMaskMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mRepeat as * const _ as usize } , 90usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mRepeat ) ) ) ; } extern "C" { - # [ link_name = "\u{1}_ZN18nsStyleImageLayers21kBackgroundLayerTableE" ] + # [ link_name = "\u{1}__ZN18nsStyleImageLayers21kBackgroundLayerTableE" ] pub static mut nsStyleImageLayers_kBackgroundLayerTable : [ root :: nsCSSPropertyID ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}_ZN18nsStyleImageLayers15kMaskLayerTableE" ] + # [ link_name = "\u{1}__ZN18nsStyleImageLayers15kMaskLayerTableE" ] pub static mut nsStyleImageLayers_kMaskLayerTable : [ root :: nsCSSPropertyID ; 0usize ] ; } # [ test ] fn bindgen_test_layout_nsStyleImageLayers ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageLayers > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageLayers > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageLayers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mAttachmentCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mAttachmentCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mClipCount as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mClipCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mOriginCount as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mOriginCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mRepeatCount as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mRepeatCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mPositionXCount as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mPositionXCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mPositionYCount as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mPositionYCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mImageCount as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mImageCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mSizeCount as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mSizeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mMaskModeCount as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mMaskModeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mBlendModeCount as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mBlendModeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mCompositeCount as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mCompositeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mLayers as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mLayers ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleBackground { pub mImage : root :: nsStyleImageLayers , pub mBackgroundColor : root :: mozilla :: StyleComplexColor , } pub const nsStyleBackground_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleBackground ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleBackground > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( nsStyleBackground ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleBackground > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleBackground ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBackground ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBackground ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBackground ) ) . mBackgroundColor as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBackground ) , "::" , stringify ! ( mBackgroundColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleMargin { pub mMargin : root :: nsStyleSides , } pub const nsStyleMargin_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleMargin ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleMargin > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStyleMargin ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleMargin > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleMargin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleMargin ) ) . mMargin as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleMargin ) , "::" , stringify ! ( mMargin ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStylePadding { pub mPadding : root :: nsStyleSides , } pub const nsStylePadding_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStylePadding ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStylePadding > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStylePadding ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStylePadding > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStylePadding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePadding ) ) . mPadding as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePadding ) , "::" , stringify ! ( mPadding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSShadowItem { pub mXOffset : root :: nscoord , pub mYOffset : root :: nscoord , pub mRadius : root :: nscoord , pub mSpread : root :: nscoord , pub mColor : root :: nscolor , pub mHasColor : bool , pub mInset : bool , } # [ test ] fn bindgen_test_layout_nsCSSShadowItem ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSShadowItem > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsCSSShadowItem ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSShadowItem > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsCSSShadowItem ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mXOffset as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mXOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mYOffset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mYOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mRadius as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mRadius ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mSpread as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mSpread ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mHasColor as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mHasColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mInset as * const _ as usize } , 21usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mInset ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSShadowArray { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mLength : u32 , pub mArray : [ root :: nsCSSShadowItem ; 1usize ] , } pub type nsCSSShadowArray_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsCSSShadowArray ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSShadowArray > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsCSSShadowArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSShadowArray > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSShadowArray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowArray ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowArray ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowArray ) ) . mLength as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowArray ) , "::" , stringify ! ( mLength ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowArray ) ) . mArray as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowArray ) , "::" , stringify ! ( mArray ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsBorderColors { pub mColors : [ root :: nsTArray < root :: nscolor > ; 4usize ] , } # [ test ] fn bindgen_test_layout_nsBorderColors ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsBorderColors > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsBorderColors ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsBorderColors > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsBorderColors ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBorderColors ) ) . mColors as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsBorderColors ) , "::" , stringify ! ( mColors ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleBorder { pub mBorderColors : root :: mozilla :: UniquePtr < root :: nsBorderColors > , pub mBorderRadius : root :: nsStyleCorners , pub mBorderImageSource : root :: nsStyleImage , pub mBorderImageSlice : root :: nsStyleSides , pub mBorderImageWidth : root :: nsStyleSides , pub mBorderImageOutset : root :: nsStyleSides , pub mBorderImageFill : u8 , pub mBorderImageRepeatH : u8 , pub mBorderImageRepeatV : u8 , pub mFloatEdge : root :: mozilla :: StyleFloatEdge , pub mBoxDecorationBreak : root :: mozilla :: StyleBoxDecorationBreak , pub mBorderStyle : [ u8 ; 4usize ] , pub __bindgen_anon_1 : root :: nsStyleBorder__bindgen_ty_1 , pub mComputedBorder : root :: nsMargin , pub mBorder : root :: nsMargin , pub mTwipsPerPixel : root :: nscoord , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleBorder__bindgen_ty_1 { pub __bindgen_anon_1 : root :: __BindgenUnionField < root :: nsStyleBorder__bindgen_ty_1__bindgen_ty_1 > , pub mBorderColor : root :: __BindgenUnionField < [ root :: mozilla :: StyleComplexColor ; 4usize ] > , pub bindgen_union_field : [ u32 ; 8usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { pub mBorderTopColor : root :: mozilla :: StyleComplexColor , pub mBorderRightColor : root :: mozilla :: StyleComplexColor , pub mBorderBottomColor : root :: mozilla :: StyleComplexColor , pub mBorderLeftColor : root :: mozilla :: StyleComplexColor , } # [ test ] fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleBorder__bindgen_ty_1__bindgen_ty_1 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleBorder__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) . mBorderTopColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mBorderTopColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) . mBorderRightColor as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mBorderRightColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) . mBorderBottomColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mBorderBottomColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) . mBorderLeftColor as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mBorderLeftColor ) ) ) ; } impl Clone for nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleBorder__bindgen_ty_1 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleBorder__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1 ) ) . mBorderColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) , "::" , stringify ! ( mBorderColor ) ) ) ; } impl Clone for nsStyleBorder__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } pub const nsStyleBorder_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleBorder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleBorder > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( nsStyleBorder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleBorder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderColors as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderColors ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderRadius as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderRadius ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageSource as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageSource ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageSlice as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageSlice ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageWidth as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageOutset as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageOutset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageFill as * const _ as usize } , 232usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageFill ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageRepeatH as * const _ as usize } , 233usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageRepeatH ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageRepeatV as * const _ as usize } , 234usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageRepeatV ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mFloatEdge as * const _ as usize } , 235usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mFloatEdge ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBoxDecorationBreak as * const _ as usize } , 236usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBoxDecorationBreak ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderStyle as * const _ as usize } , 237usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mComputedBorder as * const _ as usize } , 276usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mComputedBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorder as * const _ as usize } , 292usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mTwipsPerPixel as * const _ as usize } , 308usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mTwipsPerPixel ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleOutline { pub mOutlineRadius : root :: nsStyleCorners , pub mOutlineWidth : root :: nscoord , pub mOutlineOffset : root :: nscoord , pub mOutlineColor : root :: mozilla :: StyleComplexColor , pub mOutlineStyle : u8 , pub mActualOutlineWidth : root :: nscoord , pub mTwipsPerPixel : root :: nscoord , } pub const nsStyleOutline_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleOutline ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleOutline > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( nsStyleOutline ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleOutline > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleOutline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineRadius as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mOutlineRadius ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineWidth as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mOutlineWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineOffset as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mOutlineOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineColor as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mOutlineColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineStyle as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mOutlineStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mActualOutlineWidth as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mActualOutlineWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mTwipsPerPixel as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mTwipsPerPixel ) ) ) ; } /// An object that allows sharing of arrays that store 'quotes' property /// values. This is particularly important for inheritance, where we want /// to share the same 'quotes' value with a parent style context. # [ repr ( C ) ] pub struct nsStyleQuoteValues { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mQuotePairs : root :: nsStyleQuoteValues_QuotePairArray , } pub type nsStyleQuoteValues_QuotePairArray = root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ; pub type nsStyleQuoteValues_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsStyleQuoteValues ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleQuoteValues > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleQuoteValues ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleQuoteValues > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleQuoteValues ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleQuoteValues ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleQuoteValues ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleQuoteValues ) ) . mQuotePairs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleQuoteValues ) , "::" , stringify ! ( mQuotePairs ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleList { pub mListStylePosition : u8 , pub mListStyleImage : root :: RefPtr < root :: nsStyleImageRequest > , pub mCounterStyle : root :: mozilla :: CounterStylePtr , pub mQuotes : root :: RefPtr < root :: nsStyleQuoteValues > , pub mImageRegion : root :: nsRect , } pub const nsStyleList_kHasFinishStyle : bool = true ; extern "C" { - # [ link_name = "\u{1}_ZN11nsStyleList14sInitialQuotesE" ] + # [ link_name = "\u{1}__ZN11nsStyleList14sInitialQuotesE" ] pub static mut nsStyleList_sInitialQuotes : root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ; } extern "C" { - # [ link_name = "\u{1}_ZN11nsStyleList11sNoneQuotesE" ] + # [ link_name = "\u{1}__ZN11nsStyleList11sNoneQuotesE" ] pub static mut nsStyleList_sNoneQuotes : root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ; -} # [ test ] fn bindgen_test_layout_nsStyleList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleList > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mListStylePosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mListStylePosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mListStyleImage as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mListStyleImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mCounterStyle as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mCounterStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mQuotes as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mQuotes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mImageRegion as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mImageRegion ) ) ) ; } # [ test ] fn __bindgen_test_layout_StaticRefPtr_open0_nsStyleQuoteValues_close0_instantiation ( ) { 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_open0_nsStyleQuoteValues_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleGridLine { pub mHasSpan : bool , pub mInteger : i32 , pub mLineName : ::nsstring::nsStringRepr , } pub const nsStyleGridLine_kMinLine : i32 = -10000 ; pub const nsStyleGridLine_kMaxLine : i32 = 10000 ; # [ test ] fn bindgen_test_layout_nsStyleGridLine ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGridLine > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleGridLine ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGridLine > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGridLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mHasSpan as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mHasSpan ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mInteger as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mInteger ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mLineName as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mLineName ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleGridTemplate { pub mLineNameLists : root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > , pub mMinTrackSizingFunctions : root :: nsTArray < root :: nsStyleCoord > , pub mMaxTrackSizingFunctions : root :: nsTArray < root :: nsStyleCoord > , pub mRepeatAutoLineNameListBefore : root :: nsTArray < ::nsstring::nsStringRepr > , pub mRepeatAutoLineNameListAfter : root :: nsTArray < ::nsstring::nsStringRepr > , pub mRepeatAutoIndex : i16 , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 5usize ] , } # [ test ] fn bindgen_test_layout_nsStyleGridTemplate ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGridTemplate > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleGridTemplate ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGridTemplate > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGridTemplate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mLineNameLists as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mLineNameLists ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mMinTrackSizingFunctions as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mMinTrackSizingFunctions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mMaxTrackSizingFunctions as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mMaxTrackSizingFunctions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoLineNameListBefore as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoLineNameListBefore ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoLineNameListAfter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoLineNameListAfter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoIndex as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoIndex ) ) ) ; } impl nsStyleGridTemplate { # [ inline ] pub fn mIsAutoFill ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; 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 = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsSubgrid ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; 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 = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mIsAutoFill : bool , mIsSubgrid : bool ) -> u8 { ( ( 0 | ( ( mIsAutoFill as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mIsSubgrid as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) } } # [ repr ( C ) ] pub struct nsStylePosition { pub mObjectPosition : root :: mozilla :: Position , pub mOffset : root :: nsStyleSides , pub mWidth : root :: nsStyleCoord , pub mMinWidth : root :: nsStyleCoord , pub mMaxWidth : root :: nsStyleCoord , pub mHeight : root :: nsStyleCoord , pub mMinHeight : root :: nsStyleCoord , pub mMaxHeight : root :: nsStyleCoord , pub mFlexBasis : root :: nsStyleCoord , pub mGridAutoColumnsMin : root :: nsStyleCoord , pub mGridAutoColumnsMax : root :: nsStyleCoord , pub mGridAutoRowsMin : root :: nsStyleCoord , pub mGridAutoRowsMax : root :: nsStyleCoord , pub mGridAutoFlow : u8 , pub mBoxSizing : root :: mozilla :: StyleBoxSizing , pub mAlignContent : u16 , pub mAlignItems : u8 , pub mAlignSelf : u8 , pub mJustifyContent : u16 , pub mSpecifiedJustifyItems : u8 , pub mJustifyItems : u8 , pub mJustifySelf : u8 , pub mFlexDirection : u8 , pub mFlexWrap : u8 , pub mObjectFit : u8 , pub mOrder : i32 , pub mFlexGrow : f32 , pub mFlexShrink : f32 , pub mZIndex : root :: nsStyleCoord , pub mGridTemplateColumns : root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > , pub mGridTemplateRows : root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > , pub mGridTemplateAreas : root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > , pub mGridColumnStart : root :: nsStyleGridLine , pub mGridColumnEnd : root :: nsStyleGridLine , pub mGridRowStart : root :: nsStyleGridLine , pub mGridRowEnd : root :: nsStyleGridLine , pub mGridColumnGap : root :: nsStyleCoord , pub mGridRowGap : root :: nsStyleCoord , } pub const nsStylePosition_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStylePosition ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStylePosition > ( ) , 440usize , concat ! ( "Size of: " , stringify ! ( nsStylePosition ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStylePosition > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStylePosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mObjectPosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mObjectPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mOffset as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mWidth as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMinWidth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMinWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMaxWidth as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMaxWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mHeight as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMinHeight as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMinHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMaxHeight as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMaxHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexBasis as * const _ as usize } , 160usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexBasis ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoColumnsMin as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoColumnsMin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoColumnsMax as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoColumnsMax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoRowsMin as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoRowsMin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoRowsMax as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoRowsMax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoFlow as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoFlow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mBoxSizing as * const _ as usize } , 241usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mBoxSizing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignContent as * const _ as usize } , 242usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignItems as * const _ as usize } , 244usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignSelf as * const _ as usize } , 245usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignSelf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifyContent as * const _ as usize } , 246usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifyContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mSpecifiedJustifyItems as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mSpecifiedJustifyItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifyItems as * const _ as usize } , 249usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifyItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifySelf as * const _ as usize } , 250usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifySelf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexDirection as * const _ as usize } , 251usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexWrap as * const _ as usize } , 252usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexWrap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mObjectFit as * const _ as usize } , 253usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mObjectFit ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mOrder as * const _ as usize } , 256usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexGrow as * const _ as usize } , 260usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexGrow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexShrink as * const _ as usize } , 264usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexShrink ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mZIndex as * const _ as usize } , 272usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mZIndex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateColumns as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateColumns ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateRows as * const _ as usize } , 296usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateRows ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateAreas as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateAreas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnStart as * const _ as usize } , 312usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnEnd as * const _ as usize } , 336usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowStart as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowEnd as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnGap as * const _ as usize } , 408usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnGap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowGap as * const _ as usize } , 424usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowGap ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextOverflowSide { pub mString : ::nsstring::nsStringRepr , pub mType : u8 , } # [ test ] fn bindgen_test_layout_nsStyleTextOverflowSide ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextOverflowSide > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextOverflowSide ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextOverflowSide > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextOverflowSide ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflowSide ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mType as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflowSide ) , "::" , stringify ! ( mType ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextOverflow { pub mLeft : root :: nsStyleTextOverflowSide , pub mRight : root :: nsStyleTextOverflowSide , pub mLogicalDirections : bool , } # [ test ] fn bindgen_test_layout_nsStyleTextOverflow ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextOverflow > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextOverflow ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextOverflow > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextOverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mLeft as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mRight as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mRight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mLogicalDirections as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mLogicalDirections ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextReset { pub mTextOverflow : root :: nsStyleTextOverflow , pub mTextDecorationLine : u8 , pub mTextDecorationStyle : u8 , pub mUnicodeBidi : u8 , pub mInitialLetterSink : root :: nscoord , pub mInitialLetterSize : f32 , pub mTextDecorationColor : root :: mozilla :: StyleComplexColor , } pub const nsStyleTextReset_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTextReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextReset > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextOverflow as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextOverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationLine as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationStyle as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mUnicodeBidi as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mUnicodeBidi ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mInitialLetterSink as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mInitialLetterSink ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mInitialLetterSize as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mInitialLetterSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationColor as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationColor ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleText { pub mTextAlign : u8 , pub mTextAlignLast : u8 , pub _bitfield_1 : u8 , pub mTextJustify : root :: mozilla :: StyleTextJustify , pub mTextTransform : u8 , pub mWhiteSpace : root :: mozilla :: StyleWhiteSpace , pub mWordBreak : u8 , pub mOverflowWrap : u8 , pub mHyphens : root :: mozilla :: StyleHyphens , pub mRubyAlign : u8 , pub mRubyPosition : u8 , pub mTextSizeAdjust : u8 , pub mTextCombineUpright : u8 , pub mControlCharacterVisibility : u8 , pub mTextEmphasisPosition : u8 , pub mTextEmphasisStyle : u8 , pub mTextRendering : u8 , pub mTextEmphasisColor : root :: mozilla :: StyleComplexColor , pub mWebkitTextFillColor : root :: mozilla :: StyleComplexColor , pub mWebkitTextStrokeColor : root :: mozilla :: StyleComplexColor , pub mTabSize : root :: nsStyleCoord , pub mWordSpacing : root :: nsStyleCoord , pub mLetterSpacing : root :: nsStyleCoord , pub mLineHeight : root :: nsStyleCoord , pub mTextIndent : root :: nsStyleCoord , pub mWebkitTextStrokeWidth : root :: nscoord , pub mTextShadow : root :: RefPtr < root :: nsCSSShadowArray > , pub mTextEmphasisStyleString : ::nsstring::nsStringRepr , } pub const nsStyleText_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleText ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleText > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( nsStyleText ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleText > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleText ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextAlign as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextAlignLast as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextAlignLast ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextJustify as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextJustify ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextTransform as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWhiteSpace as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWhiteSpace ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWordBreak as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWordBreak ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mOverflowWrap as * const _ as usize } , 7usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mOverflowWrap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mHyphens as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mHyphens ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mRubyAlign as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mRubyAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mRubyPosition as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mRubyPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextSizeAdjust as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextSizeAdjust ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextCombineUpright as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextCombineUpright ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mControlCharacterVisibility as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mControlCharacterVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisPosition as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyle as * const _ as usize } , 15usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextRendering as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisColor as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextFillColor as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextFillColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextStrokeColor as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextStrokeColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTabSize as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTabSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWordSpacing as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWordSpacing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mLetterSpacing as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mLetterSpacing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mLineHeight as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mLineHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextIndent as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextIndent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextStrokeWidth as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextStrokeWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextShadow as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyleString as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisStyleString ) ) ) ; } impl nsStyleText { # [ inline ] pub fn mTextAlignTrue ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mTextAlignTrue ( & mut self , val : bool ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mTextAlignLastTrue ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mTextAlignLastTrue ( & mut self , val : bool ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mTextAlignTrue : bool , mTextAlignLastTrue : bool ) -> u8 { ( ( 0 | ( ( mTextAlignTrue as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mTextAlignLastTrue as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImageOrientation { pub mOrientation : u8 , } pub const nsStyleImageOrientation_Bits_ORIENTATION_MASK : root :: nsStyleImageOrientation_Bits = 3 ; pub const nsStyleImageOrientation_Bits_FLIP_MASK : root :: nsStyleImageOrientation_Bits = 4 ; pub const nsStyleImageOrientation_Bits_FROM_IMAGE_MASK : root :: nsStyleImageOrientation_Bits = 8 ; pub type nsStyleImageOrientation_Bits = :: std :: os :: raw :: c_uint ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleImageOrientation_Angles { ANGLE_0 = 0 , ANGLE_90 = 1 , ANGLE_180 = 2 , ANGLE_270 = 3 , } # [ test ] fn bindgen_test_layout_nsStyleImageOrientation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageOrientation > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageOrientation ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageOrientation > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageOrientation ) ) . mOrientation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageOrientation ) , "::" , stringify ! ( mOrientation ) ) ) ; } impl Clone for nsStyleImageOrientation { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleVisibility { pub mImageOrientation : root :: nsStyleImageOrientation , pub mDirection : u8 , pub mVisible : u8 , pub mImageRendering : u8 , pub mWritingMode : u8 , pub mTextOrientation : u8 , pub mColorAdjust : u8 , } pub const nsStyleVisibility_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleVisibility ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleVisibility > ( ) , 7usize , concat ! ( "Size of: " , stringify ! ( nsStyleVisibility ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleVisibility > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsStyleVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mImageOrientation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mImageOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mDirection as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mVisible as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mVisible ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mImageRendering as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mImageRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mWritingMode as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mWritingMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mTextOrientation as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mTextOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mColorAdjust as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mColorAdjust ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction { pub mType : root :: nsTimingFunction_Type , pub __bindgen_anon_1 : root :: nsTimingFunction__bindgen_ty_1 , } # [ repr ( i32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsTimingFunction_Type { Ease = 0 , Linear = 1 , EaseIn = 2 , EaseOut = 3 , EaseInOut = 4 , StepStart = 5 , StepEnd = 6 , CubicBezier = 7 , Frames = 8 , } pub const nsTimingFunction_Keyword_Implicit : root :: nsTimingFunction_Keyword = 0 ; pub const nsTimingFunction_Keyword_Explicit : root :: nsTimingFunction_Keyword = 1 ; pub type nsTimingFunction_Keyword = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1 { pub mFunc : root :: __BindgenUnionField < root :: nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_1 : root :: __BindgenUnionField < root :: nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [ u32 ; 4usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1__bindgen_ty_1 { pub mX1 : f32 , pub mY1 : f32 , pub mX2 : f32 , pub mY2 : f32 , } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mX1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mX1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mY1 as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mY1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mX2 as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mX2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mY2 as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mY2 ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1__bindgen_ty_2 { pub mStepsOrFrames : u32 , } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) . mStepsOrFrames as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( mStepsOrFrames ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_2 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1 ) ) . mFunc as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) , "::" , stringify ! ( mFunc ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsTimingFunction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction ) , "::" , stringify ! ( mType ) ) ) ; } impl Clone for nsTimingFunction { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct BindingHolder { pub mPtr : root :: RefPtr < root :: mozilla :: css :: URLValue > , } # [ test ] fn bindgen_test_layout_BindingHolder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < BindingHolder > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( BindingHolder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < BindingHolder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( BindingHolder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const BindingHolder ) ) . mPtr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( BindingHolder ) , "::" , stringify ! ( mPtr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleDisplay { pub mBinding : root :: BindingHolder , pub mDisplay : root :: mozilla :: StyleDisplay , pub mOriginalDisplay : root :: mozilla :: StyleDisplay , pub mContain : u8 , pub mAppearance : u8 , pub mPosition : u8 , pub mFloat : root :: mozilla :: StyleFloat , pub mOriginalFloat : root :: mozilla :: StyleFloat , pub mBreakType : root :: mozilla :: StyleClear , pub mBreakInside : u8 , pub mBreakBefore : bool , pub mBreakAfter : bool , pub mOverflowX : u8 , pub mOverflowY : u8 , pub mOverflowClipBox : u8 , pub mResize : u8 , pub mOrient : root :: mozilla :: StyleOrient , pub mIsolation : u8 , pub mTopLayer : u8 , pub mWillChangeBitField : u8 , pub mWillChange : root :: nsTArray < root :: RefPtr < root :: nsAtom > > , pub mTouchAction : u8 , pub mScrollBehavior : u8 , pub mOverscrollBehaviorX : root :: mozilla :: StyleOverscrollBehavior , pub mOverscrollBehaviorY : root :: mozilla :: StyleOverscrollBehavior , pub mScrollSnapTypeX : u8 , pub mScrollSnapTypeY : u8 , pub mScrollSnapPointsX : root :: nsStyleCoord , pub mScrollSnapPointsY : root :: nsStyleCoord , pub mScrollSnapDestination : root :: mozilla :: Position , pub mScrollSnapCoordinate : root :: nsTArray < root :: mozilla :: Position > , pub mBackfaceVisibility : u8 , pub mTransformStyle : u8 , pub mTransformBox : root :: nsStyleDisplay_StyleGeometryBox , pub mSpecifiedTransform : root :: RefPtr < root :: nsCSSValueSharedList > , pub mTransformOrigin : [ root :: nsStyleCoord ; 3usize ] , pub mChildPerspective : root :: nsStyleCoord , pub mPerspectiveOrigin : [ root :: nsStyleCoord ; 2usize ] , pub mVerticalAlign : root :: nsStyleCoord , pub mTransitions : root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > , pub mTransitionTimingFunctionCount : u32 , pub mTransitionDurationCount : u32 , pub mTransitionDelayCount : u32 , pub mTransitionPropertyCount : u32 , pub mAnimations : root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > , pub mAnimationTimingFunctionCount : u32 , pub mAnimationDurationCount : u32 , pub mAnimationDelayCount : u32 , pub mAnimationNameCount : u32 , pub mAnimationDirectionCount : u32 , pub mAnimationFillModeCount : u32 , pub mAnimationPlayStateCount : u32 , pub mAnimationIterationCountCount : u32 , pub mShapeOutside : root :: mozilla :: StyleShapeSource , } pub use self :: super :: root :: mozilla :: StyleGeometryBox as nsStyleDisplay_StyleGeometryBox ; pub const nsStyleDisplay_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleDisplay ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleDisplay > ( ) , 416usize , concat ! ( "Size of: " , stringify ! ( nsStyleDisplay ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleDisplay > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBinding as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mDisplay as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalDisplay as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOriginalDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mContain as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mContain ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAppearance as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAppearance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mPosition as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mFloat as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalFloat as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOriginalFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakType as * const _ as usize } , 15usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakInside as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakInside ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakBefore as * const _ as usize } , 17usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakBefore ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakAfter as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakAfter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowX as * const _ as usize } , 19usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowY as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowClipBox as * const _ as usize } , 21usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowClipBox ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mResize as * const _ as usize } , 22usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mResize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOrient as * const _ as usize } , 23usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOrient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mIsolation as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mIsolation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTopLayer as * const _ as usize } , 25usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTopLayer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChangeBitField as * const _ as usize } , 26usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mWillChangeBitField ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChange as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mWillChange ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTouchAction as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTouchAction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollBehavior as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollBehavior ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverscrollBehaviorX as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverscrollBehaviorX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverscrollBehaviorY as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverscrollBehaviorY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeX as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapTypeX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeY as * const _ as usize } , 45usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapTypeY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapPointsX as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapPointsX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapPointsY as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapPointsY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapDestination as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapDestination ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapCoordinate as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapCoordinate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBackfaceVisibility as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBackfaceVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformStyle as * const _ as usize } , 113usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformBox as * const _ as usize } , 114usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformBox ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mSpecifiedTransform as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mSpecifiedTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformOrigin as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformOrigin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mChildPerspective as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mChildPerspective ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mPerspectiveOrigin as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mPerspectiveOrigin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mVerticalAlign as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mVerticalAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitions as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionTimingFunctionCount as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionTimingFunctionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionDurationCount as * const _ as usize } , 292usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionDurationCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionDelayCount as * const _ as usize } , 296usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionDelayCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionPropertyCount as * const _ as usize } , 300usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionPropertyCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimations as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationTimingFunctionCount as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationTimingFunctionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDurationCount as * const _ as usize } , 364usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDurationCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDelayCount as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDelayCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationNameCount as * const _ as usize } , 372usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationNameCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDirectionCount as * const _ as usize } , 376usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDirectionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationFillModeCount as * const _ as usize } , 380usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationFillModeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationPlayStateCount as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationPlayStateCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationIterationCountCount as * const _ as usize } , 388usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationIterationCountCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mShapeOutside as * const _ as usize } , 392usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mShapeOutside ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleTable { pub mLayoutStrategy : u8 , pub mSpan : i32 , } pub const nsStyleTable_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTable > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTable > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTable ) ) . mLayoutStrategy as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTable ) , "::" , stringify ! ( mLayoutStrategy ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTable ) ) . mSpan as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTable ) , "::" , stringify ! ( mSpan ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleTableBorder { pub mBorderSpacingCol : root :: nscoord , pub mBorderSpacingRow : root :: nscoord , pub mBorderCollapse : u8 , pub mCaptionSide : u8 , pub mEmptyCells : u8 , } pub const nsStyleTableBorder_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTableBorder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTableBorder > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( nsStyleTableBorder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTableBorder > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTableBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderSpacingCol as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderSpacingCol ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderSpacingRow as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderSpacingRow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderCollapse as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderCollapse ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mCaptionSide as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mCaptionSide ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mEmptyCells as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mEmptyCells ) ) ) ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleContentType { eStyleContentType_String = 1 , eStyleContentType_Image = 10 , eStyleContentType_Attr = 20 , eStyleContentType_Counter = 30 , eStyleContentType_Counters = 31 , eStyleContentType_OpenQuote = 40 , eStyleContentType_CloseQuote = 41 , eStyleContentType_NoOpenQuote = 42 , eStyleContentType_NoCloseQuote = 43 , eStyleContentType_AltContent = 50 , eStyleContentType_Uninitialized = 51 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleContentData { pub mType : root :: nsStyleContentType , pub mContent : root :: nsStyleContentData__bindgen_ty_1 , } # [ repr ( C ) ] pub struct nsStyleContentData_CounterFunction { pub mIdent : ::nsstring::nsStringRepr , pub mSeparator : ::nsstring::nsStringRepr , pub mCounterStyle : root :: mozilla :: CounterStylePtr , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , } pub type nsStyleContentData_CounterFunction_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsStyleContentData_CounterFunction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData_CounterFunction > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData_CounterFunction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData_CounterFunction > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData_CounterFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mIdent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mIdent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mSeparator as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mSeparator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mCounterStyle as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mCounterStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mRefCnt as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleContentData__bindgen_ty_1 { pub mString : root :: __BindgenUnionField < * mut u16 > , pub mImage : root :: __BindgenUnionField < * mut root :: nsStyleImageRequest > , pub mCounters : root :: __BindgenUnionField < * mut root :: nsStyleContentData_CounterFunction > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleContentData__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mCounters as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mCounters ) ) ) ; } impl Clone for nsStyleContentData__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleContentData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData ) ) . mContent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData ) , "::" , stringify ! ( mContent ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleCounterData { pub mCounter : ::nsstring::nsStringRepr , pub mValue : i32 , } # [ test ] fn bindgen_test_layout_nsStyleCounterData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleCounterData > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleCounterData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleCounterData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleCounterData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleCounterData ) ) . mCounter as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleCounterData ) , "::" , stringify ! ( mCounter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleCounterData ) ) . mValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleCounterData ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleContent { pub mContents : root :: nsTArray < root :: nsStyleContentData > , pub mIncrements : root :: nsTArray < root :: nsStyleCounterData > , pub mResets : root :: nsTArray < root :: nsStyleCounterData > , } pub const nsStyleContent_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleContent ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContent > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleContent ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContent > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mContents as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mContents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mIncrements as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mIncrements ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mResets as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mResets ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleUIReset { pub mUserSelect : root :: mozilla :: StyleUserSelect , pub mForceBrokenImageIcon : u8 , pub mIMEMode : u8 , pub mWindowDragging : root :: mozilla :: StyleWindowDragging , pub mWindowShadow : u8 , pub mWindowOpacity : f32 , pub mSpecifiedWindowTransform : root :: RefPtr < root :: nsCSSValueSharedList > , pub mWindowTransformOrigin : [ root :: nsStyleCoord ; 2usize ] , } pub const nsStyleUIReset_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleUIReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleUIReset > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( nsStyleUIReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleUIReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleUIReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mUserSelect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mUserSelect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mForceBrokenImageIcon as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mForceBrokenImageIcon ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mIMEMode as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mIMEMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowDragging as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowDragging ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowShadow as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowOpacity as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mSpecifiedWindowTransform as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mSpecifiedWindowTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowTransformOrigin as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowTransformOrigin ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCursorImage { pub mHaveHotspot : bool , pub mHotspotX : f32 , pub mHotspotY : f32 , pub mImage : root :: RefPtr < root :: nsStyleImageRequest > , } # [ test ] fn bindgen_test_layout_nsCursorImage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCursorImage > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsCursorImage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCursorImage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCursorImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHaveHotspot as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHaveHotspot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHotspotX as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHotspotX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHotspotY as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHotspotY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mImage as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mImage ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleUserInterface { pub mUserInput : root :: mozilla :: StyleUserInput , pub mUserModify : root :: mozilla :: StyleUserModify , pub mUserFocus : root :: mozilla :: StyleUserFocus , pub mPointerEvents : u8 , pub mCursor : u8 , pub mCursorImages : root :: nsTArray < root :: nsCursorImage > , pub mCaretColor : root :: mozilla :: StyleComplexColor , } pub const nsStyleUserInterface_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleUserInterface ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleUserInterface > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleUserInterface ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleUserInterface > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleUserInterface ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserInput as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserInput ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserModify as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserModify ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserFocus as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserFocus ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mPointerEvents as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mPointerEvents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursor as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCursor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursorImages as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCursorImages ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCaretColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCaretColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleXUL { pub mBoxFlex : f32 , pub mBoxOrdinal : u32 , pub mBoxAlign : root :: mozilla :: StyleBoxAlign , pub mBoxDirection : root :: mozilla :: StyleBoxDirection , pub mBoxOrient : root :: mozilla :: StyleBoxOrient , pub mBoxPack : root :: mozilla :: StyleBoxPack , pub mStackSizing : root :: mozilla :: StyleStackSizing , } pub const nsStyleXUL_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleXUL ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleXUL > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleXUL ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleXUL > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleXUL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxFlex as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxFlex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrdinal as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxOrdinal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxAlign as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxDirection as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrient as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxOrient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxPack as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxPack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mStackSizing as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mStackSizing ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleColumn { pub mColumnCount : u32 , pub mColumnWidth : root :: nsStyleCoord , pub mColumnGap : root :: nsStyleCoord , pub mColumnRuleColor : root :: mozilla :: StyleComplexColor , pub mColumnRuleStyle : u8 , pub mColumnFill : u8 , pub mColumnSpan : u8 , pub mColumnRuleWidth : root :: nscoord , pub mTwipsPerPixel : root :: nscoord , } pub const nsStyleColumn_kHasFinishStyle : bool = false ; pub const nsStyleColumn_kMaxColumnCount : u32 = 1000 ; # [ test ] fn bindgen_test_layout_nsStyleColumn ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleColumn > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( nsStyleColumn ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleColumn > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleColumn ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnWidth as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnGap as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnGap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleColor as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleStyle as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnFill as * const _ as usize } , 49usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnFill ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnSpan as * const _ as usize } , 50usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnSpan ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleWidth as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mTwipsPerPixel as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mTwipsPerPixel ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGPaintType { eStyleSVGPaintType_None = 1 , eStyleSVGPaintType_Color = 2 , eStyleSVGPaintType_Server = 3 , eStyleSVGPaintType_ContextFill = 4 , eStyleSVGPaintType_ContextStroke = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGFallbackType { eStyleSVGFallbackType_NotSet = 0 , eStyleSVGFallbackType_None = 1 , eStyleSVGFallbackType_Color = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGOpacitySource { eStyleSVGOpacitySource_Normal = 0 , eStyleSVGOpacitySource_ContextFillOpacity = 1 , eStyleSVGOpacitySource_ContextStrokeOpacity = 2 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVGPaint { pub mPaint : root :: nsStyleSVGPaint__bindgen_ty_1 , pub mType : root :: nsStyleSVGPaintType , pub mFallbackType : root :: nsStyleSVGFallbackType , pub mFallbackColor : root :: nscolor , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleSVGPaint__bindgen_ty_1 { pub mColor : root :: __BindgenUnionField < root :: nscolor > , pub mPaintServer : root :: __BindgenUnionField < * mut root :: mozilla :: css :: URLValue > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGPaint__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGPaint__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . mColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . mPaintServer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( mPaintServer ) ) ) ; } impl Clone for nsStyleSVGPaint__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleSVGPaint ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGPaint > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGPaint ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGPaint > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGPaint ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mPaint as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mPaint ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mFallbackType as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mFallbackType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mFallbackColor as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mFallbackColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVG { pub mFill : root :: nsStyleSVGPaint , pub mStroke : root :: nsStyleSVGPaint , pub mMarkerEnd : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mMarkerMid : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mMarkerStart : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mStrokeDasharray : root :: nsTArray < root :: nsStyleCoord > , pub mContextProps : root :: nsTArray < root :: RefPtr < root :: nsAtom > > , pub mStrokeDashoffset : root :: nsStyleCoord , pub mStrokeWidth : root :: nsStyleCoord , pub mFillOpacity : f32 , pub mStrokeMiterlimit : f32 , pub mStrokeOpacity : f32 , pub mClipRule : root :: mozilla :: StyleFillRule , pub mColorInterpolation : u8 , pub mColorInterpolationFilters : u8 , pub mFillRule : root :: mozilla :: StyleFillRule , pub mPaintOrder : u8 , pub mShapeRendering : u8 , pub mStrokeLinecap : u8 , pub mStrokeLinejoin : u8 , pub mTextAnchor : u8 , pub mContextPropsBits : u8 , pub mContextFlags : u8 , } pub const nsStyleSVG_kHasFinishStyle : bool = false ; pub const nsStyleSVG_FILL_OPACITY_SOURCE_MASK : u8 = 3 ; pub const nsStyleSVG_STROKE_OPACITY_SOURCE_MASK : u8 = 12 ; pub const nsStyleSVG_STROKE_DASHARRAY_CONTEXT : u8 = 16 ; pub const nsStyleSVG_STROKE_DASHOFFSET_CONTEXT : u8 = 32 ; pub const nsStyleSVG_STROKE_WIDTH_CONTEXT : u8 = 64 ; pub const nsStyleSVG_FILL_OPACITY_SOURCE_SHIFT : u8 = 0 ; pub const nsStyleSVG_STROKE_OPACITY_SOURCE_SHIFT : u8 = 2 ; # [ test ] fn bindgen_test_layout_nsStyleSVG ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVG > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVG ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVG > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVG ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFill as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFill ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStroke as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStroke ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerEnd as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerMid as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerMid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerStart as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDasharray as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeDasharray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextProps as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextProps ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDashoffset as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeDashoffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeWidth as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFillOpacity as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFillOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeMiterlimit as * const _ as usize } , 108usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeMiterlimit ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeOpacity as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mClipRule as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mClipRule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolation as * const _ as usize } , 117usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mColorInterpolation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolationFilters as * const _ as usize } , 118usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mColorInterpolationFilters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFillRule as * const _ as usize } , 119usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFillRule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mPaintOrder as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mPaintOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mShapeRendering as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mShapeRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinecap as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeLinecap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinejoin as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeLinejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mTextAnchor as * const _ as usize } , 124usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mTextAnchor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextPropsBits as * const _ as usize } , 125usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextPropsBits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextFlags as * const _ as usize } , 126usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextFlags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleFilter { pub mType : u32 , pub mFilterParameter : root :: nsStyleCoord , pub __bindgen_anon_1 : root :: nsStyleFilter__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleFilter__bindgen_ty_1 { pub mURL : root :: __BindgenUnionField < * mut root :: mozilla :: css :: URLValue > , pub mDropShadow : root :: __BindgenUnionField < * mut root :: nsCSSShadowArray > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleFilter__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleFilter__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleFilter__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . mURL as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( mURL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . mDropShadow as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( mDropShadow ) ) ) ; } impl Clone for nsStyleFilter__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } pub const nsStyleFilter_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleFilter ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleFilter > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsStyleFilter ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleFilter > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleFilter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter ) ) . mFilterParameter as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter ) , "::" , stringify ! ( mFilterParameter ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVGReset { pub mMask : root :: nsStyleImageLayers , pub mClipPath : root :: mozilla :: StyleShapeSource , pub mStopColor : root :: nscolor , pub mFloodColor : root :: nscolor , pub mLightingColor : root :: nscolor , pub mStopOpacity : f32 , pub mFloodOpacity : f32 , pub mDominantBaseline : u8 , pub mVectorEffect : u8 , pub mMaskType : u8 , } pub const nsStyleSVGReset_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleSVGReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGReset > ( ) , 200usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mMask as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mMask ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mClipPath as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mClipPath ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopColor as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mStopColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodColor as * const _ as usize } , 180usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mFloodColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mLightingColor as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mLightingColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopOpacity as * const _ as usize } , 188usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mStopOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodOpacity as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mFloodOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mDominantBaseline as * const _ as usize } , 196usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mDominantBaseline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mVectorEffect as * const _ as usize } , 197usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mVectorEffect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mMaskType as * const _ as usize } , 198usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mMaskType ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleVariables { pub mVariables : root :: mozilla :: CSSVariableValues , } pub const nsStyleVariables_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleVariables ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleVariables > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStyleVariables ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleVariables > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleVariables ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVariables ) ) . mVariables as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVariables ) , "::" , stringify ! ( mVariables ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleEffects { pub mFilters : root :: nsTArray < root :: nsStyleFilter > , pub mBoxShadow : root :: RefPtr < root :: nsCSSShadowArray > , pub mClip : root :: nsRect , pub mOpacity : f32 , pub mClipFlags : u8 , pub mMixBlendMode : u8 , } pub const nsStyleEffects_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleEffects ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleEffects > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStyleEffects ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleEffects > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleEffects ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mFilters as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mFilters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mBoxShadow as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mBoxShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mClip as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mClip ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mOpacity as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mClipFlags as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mClipFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mMixBlendMode as * const _ as usize } , 37usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mMixBlendMode ) ) ) ; } +} # [ test ] fn bindgen_test_layout_nsStyleList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleList > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mListStylePosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mListStylePosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mListStyleImage as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mListStyleImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mCounterStyle as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mCounterStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mQuotes as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mQuotes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mImageRegion as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mImageRegion ) ) ) ; } # [ test ] fn __bindgen_test_layout_StaticRefPtr_open0_nsStyleQuoteValues_close0_instantiation ( ) { 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_open0_nsStyleQuoteValues_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleGridLine { pub mHasSpan : bool , pub mInteger : i32 , pub mLineName : ::nsstring::nsStringRepr , } pub const nsStyleGridLine_kMinLine : i32 = -10000 ; pub const nsStyleGridLine_kMaxLine : i32 = 10000 ; # [ test ] fn bindgen_test_layout_nsStyleGridLine ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGridLine > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleGridLine ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGridLine > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGridLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mHasSpan as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mHasSpan ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mInteger as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mInteger ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mLineName as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mLineName ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleGridTemplate { pub mLineNameLists : root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > , pub mMinTrackSizingFunctions : root :: nsTArray < root :: nsStyleCoord > , pub mMaxTrackSizingFunctions : root :: nsTArray < root :: nsStyleCoord > , pub mRepeatAutoLineNameListBefore : root :: nsTArray < ::nsstring::nsStringRepr > , pub mRepeatAutoLineNameListAfter : root :: nsTArray < ::nsstring::nsStringRepr > , pub mRepeatAutoIndex : i16 , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 5usize ] , } # [ test ] fn bindgen_test_layout_nsStyleGridTemplate ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGridTemplate > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleGridTemplate ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGridTemplate > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGridTemplate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mLineNameLists as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mLineNameLists ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mMinTrackSizingFunctions as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mMinTrackSizingFunctions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mMaxTrackSizingFunctions as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mMaxTrackSizingFunctions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoLineNameListBefore as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoLineNameListBefore ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoLineNameListAfter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoLineNameListAfter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoIndex as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoIndex ) ) ) ; } impl nsStyleGridTemplate { # [ inline ] pub fn mIsAutoFill ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; 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 = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsSubgrid ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; 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 = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mIsAutoFill : bool , mIsSubgrid : bool ) -> u8 { ( ( 0 | ( ( mIsAutoFill as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mIsSubgrid as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) } } # [ repr ( C ) ] pub struct nsStylePosition { pub mObjectPosition : root :: mozilla :: Position , pub mOffset : root :: nsStyleSides , pub mWidth : root :: nsStyleCoord , pub mMinWidth : root :: nsStyleCoord , pub mMaxWidth : root :: nsStyleCoord , pub mHeight : root :: nsStyleCoord , pub mMinHeight : root :: nsStyleCoord , pub mMaxHeight : root :: nsStyleCoord , pub mFlexBasis : root :: nsStyleCoord , pub mGridAutoColumnsMin : root :: nsStyleCoord , pub mGridAutoColumnsMax : root :: nsStyleCoord , pub mGridAutoRowsMin : root :: nsStyleCoord , pub mGridAutoRowsMax : root :: nsStyleCoord , pub mGridAutoFlow : u8 , pub mBoxSizing : root :: mozilla :: StyleBoxSizing , pub mAlignContent : u16 , pub mAlignItems : u8 , pub mAlignSelf : u8 , pub mJustifyContent : u16 , pub mSpecifiedJustifyItems : u8 , pub mJustifyItems : u8 , pub mJustifySelf : u8 , pub mFlexDirection : u8 , pub mFlexWrap : u8 , pub mObjectFit : u8 , pub mOrder : i32 , pub mFlexGrow : f32 , pub mFlexShrink : f32 , pub mZIndex : root :: nsStyleCoord , pub mGridTemplateColumns : root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > , pub mGridTemplateRows : root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > , pub mGridTemplateAreas : root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > , pub mGridColumnStart : root :: nsStyleGridLine , pub mGridColumnEnd : root :: nsStyleGridLine , pub mGridRowStart : root :: nsStyleGridLine , pub mGridRowEnd : root :: nsStyleGridLine , pub mGridColumnGap : root :: nsStyleCoord , pub mGridRowGap : root :: nsStyleCoord , } pub const nsStylePosition_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStylePosition ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStylePosition > ( ) , 440usize , concat ! ( "Size of: " , stringify ! ( nsStylePosition ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStylePosition > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStylePosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mObjectPosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mObjectPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mOffset as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mWidth as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMinWidth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMinWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMaxWidth as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMaxWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mHeight as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMinHeight as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMinHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMaxHeight as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMaxHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexBasis as * const _ as usize } , 160usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexBasis ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoColumnsMin as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoColumnsMin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoColumnsMax as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoColumnsMax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoRowsMin as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoRowsMin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoRowsMax as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoRowsMax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoFlow as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoFlow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mBoxSizing as * const _ as usize } , 241usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mBoxSizing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignContent as * const _ as usize } , 242usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignItems as * const _ as usize } , 244usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignSelf as * const _ as usize } , 245usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignSelf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifyContent as * const _ as usize } , 246usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifyContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mSpecifiedJustifyItems as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mSpecifiedJustifyItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifyItems as * const _ as usize } , 249usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifyItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifySelf as * const _ as usize } , 250usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifySelf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexDirection as * const _ as usize } , 251usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexWrap as * const _ as usize } , 252usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexWrap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mObjectFit as * const _ as usize } , 253usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mObjectFit ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mOrder as * const _ as usize } , 256usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexGrow as * const _ as usize } , 260usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexGrow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexShrink as * const _ as usize } , 264usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexShrink ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mZIndex as * const _ as usize } , 272usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mZIndex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateColumns as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateColumns ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateRows as * const _ as usize } , 296usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateRows ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateAreas as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateAreas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnStart as * const _ as usize } , 312usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnEnd as * const _ as usize } , 336usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowStart as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowEnd as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnGap as * const _ as usize } , 408usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnGap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowGap as * const _ as usize } , 424usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowGap ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextOverflowSide { pub mString : ::nsstring::nsStringRepr , pub mType : u8 , } # [ test ] fn bindgen_test_layout_nsStyleTextOverflowSide ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextOverflowSide > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextOverflowSide ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextOverflowSide > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextOverflowSide ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflowSide ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mType as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflowSide ) , "::" , stringify ! ( mType ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextOverflow { pub mLeft : root :: nsStyleTextOverflowSide , pub mRight : root :: nsStyleTextOverflowSide , pub mLogicalDirections : bool , } # [ test ] fn bindgen_test_layout_nsStyleTextOverflow ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextOverflow > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextOverflow ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextOverflow > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextOverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mLeft as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mRight as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mRight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mLogicalDirections as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mLogicalDirections ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextReset { pub mTextOverflow : root :: nsStyleTextOverflow , pub mTextDecorationLine : u8 , pub mTextDecorationStyle : u8 , pub mUnicodeBidi : u8 , pub mInitialLetterSink : root :: nscoord , pub mInitialLetterSize : f32 , pub mTextDecorationColor : root :: mozilla :: StyleComplexColor , } pub const nsStyleTextReset_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTextReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextReset > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextOverflow as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextOverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationLine as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationStyle as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mUnicodeBidi as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mUnicodeBidi ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mInitialLetterSink as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mInitialLetterSink ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mInitialLetterSize as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mInitialLetterSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationColor as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationColor ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleText { pub mTextAlign : u8 , pub mTextAlignLast : u8 , pub _bitfield_1 : u8 , pub mTextJustify : root :: mozilla :: StyleTextJustify , pub mTextTransform : u8 , pub mWhiteSpace : root :: mozilla :: StyleWhiteSpace , pub mWordBreak : u8 , pub mOverflowWrap : u8 , pub mHyphens : root :: mozilla :: StyleHyphens , pub mRubyAlign : u8 , pub mRubyPosition : u8 , pub mTextSizeAdjust : u8 , pub mTextCombineUpright : u8 , pub mControlCharacterVisibility : u8 , pub mTextEmphasisPosition : u8 , pub mTextEmphasisStyle : u8 , pub mTextRendering : u8 , pub mTextEmphasisColor : root :: mozilla :: StyleComplexColor , pub mWebkitTextFillColor : root :: mozilla :: StyleComplexColor , pub mWebkitTextStrokeColor : root :: mozilla :: StyleComplexColor , pub mTabSize : root :: nsStyleCoord , pub mWordSpacing : root :: nsStyleCoord , pub mLetterSpacing : root :: nsStyleCoord , pub mLineHeight : root :: nsStyleCoord , pub mTextIndent : root :: nsStyleCoord , pub mWebkitTextStrokeWidth : root :: nscoord , pub mTextShadow : root :: RefPtr < root :: nsCSSShadowArray > , pub mTextEmphasisStyleString : ::nsstring::nsStringRepr , } pub const nsStyleText_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleText ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleText > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( nsStyleText ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleText > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleText ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextAlign as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextAlignLast as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextAlignLast ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextJustify as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextJustify ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextTransform as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWhiteSpace as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWhiteSpace ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWordBreak as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWordBreak ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mOverflowWrap as * const _ as usize } , 7usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mOverflowWrap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mHyphens as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mHyphens ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mRubyAlign as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mRubyAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mRubyPosition as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mRubyPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextSizeAdjust as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextSizeAdjust ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextCombineUpright as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextCombineUpright ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mControlCharacterVisibility as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mControlCharacterVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisPosition as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyle as * const _ as usize } , 15usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextRendering as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisColor as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextFillColor as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextFillColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextStrokeColor as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextStrokeColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTabSize as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTabSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWordSpacing as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWordSpacing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mLetterSpacing as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mLetterSpacing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mLineHeight as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mLineHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextIndent as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextIndent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextStrokeWidth as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextStrokeWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextShadow as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyleString as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisStyleString ) ) ) ; } impl nsStyleText { # [ inline ] pub fn mTextAlignTrue ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mTextAlignTrue ( & mut self , val : bool ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mTextAlignLastTrue ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mTextAlignLastTrue ( & mut self , val : bool ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mTextAlignTrue : bool , mTextAlignLastTrue : bool ) -> u8 { ( ( 0 | ( ( mTextAlignTrue as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mTextAlignLastTrue as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImageOrientation { pub mOrientation : u8 , } pub const nsStyleImageOrientation_Bits_ORIENTATION_MASK : root :: nsStyleImageOrientation_Bits = 3 ; pub const nsStyleImageOrientation_Bits_FLIP_MASK : root :: nsStyleImageOrientation_Bits = 4 ; pub const nsStyleImageOrientation_Bits_FROM_IMAGE_MASK : root :: nsStyleImageOrientation_Bits = 8 ; pub type nsStyleImageOrientation_Bits = :: std :: os :: raw :: c_uint ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleImageOrientation_Angles { ANGLE_0 = 0 , ANGLE_90 = 1 , ANGLE_180 = 2 , ANGLE_270 = 3 , } # [ test ] fn bindgen_test_layout_nsStyleImageOrientation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageOrientation > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageOrientation ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageOrientation > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageOrientation ) ) . mOrientation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageOrientation ) , "::" , stringify ! ( mOrientation ) ) ) ; } impl Clone for nsStyleImageOrientation { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleVisibility { pub mImageOrientation : root :: nsStyleImageOrientation , pub mDirection : u8 , pub mVisible : u8 , pub mImageRendering : u8 , pub mWritingMode : u8 , pub mTextOrientation : u8 , pub mColorAdjust : u8 , } pub const nsStyleVisibility_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleVisibility ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleVisibility > ( ) , 7usize , concat ! ( "Size of: " , stringify ! ( nsStyleVisibility ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleVisibility > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsStyleVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mImageOrientation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mImageOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mDirection as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mVisible as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mVisible ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mImageRendering as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mImageRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mWritingMode as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mWritingMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mTextOrientation as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mTextOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mColorAdjust as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mColorAdjust ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction { pub mType : root :: nsTimingFunction_Type , pub __bindgen_anon_1 : root :: nsTimingFunction__bindgen_ty_1 , } # [ repr ( i32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsTimingFunction_Type { Ease = 0 , Linear = 1 , EaseIn = 2 , EaseOut = 3 , EaseInOut = 4 , StepStart = 5 , StepEnd = 6 , CubicBezier = 7 , Frames = 8 , } pub const nsTimingFunction_Keyword_Implicit : root :: nsTimingFunction_Keyword = 0 ; pub const nsTimingFunction_Keyword_Explicit : root :: nsTimingFunction_Keyword = 1 ; pub type nsTimingFunction_Keyword = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1 { pub mFunc : root :: __BindgenUnionField < root :: nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_1 : root :: __BindgenUnionField < root :: nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [ u32 ; 4usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1__bindgen_ty_1 { pub mX1 : f32 , pub mY1 : f32 , pub mX2 : f32 , pub mY2 : f32 , } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mX1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mX1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mY1 as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mY1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mX2 as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mX2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mY2 as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mY2 ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1__bindgen_ty_2 { pub mStepsOrFrames : u32 , } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) . mStepsOrFrames as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( mStepsOrFrames ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_2 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1 ) ) . mFunc as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) , "::" , stringify ! ( mFunc ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsTimingFunction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction ) , "::" , stringify ! ( mType ) ) ) ; } impl Clone for nsTimingFunction { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct BindingHolder { pub mPtr : root :: RefPtr < root :: mozilla :: css :: URLValue > , } # [ test ] fn bindgen_test_layout_BindingHolder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < BindingHolder > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( BindingHolder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < BindingHolder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( BindingHolder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const BindingHolder ) ) . mPtr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( BindingHolder ) , "::" , stringify ! ( mPtr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleDisplay { pub mBinding : root :: BindingHolder , pub mDisplay : root :: mozilla :: StyleDisplay , pub mOriginalDisplay : root :: mozilla :: StyleDisplay , pub mContain : u8 , pub mAppearance : u8 , pub mPosition : u8 , pub mFloat : root :: mozilla :: StyleFloat , pub mOriginalFloat : root :: mozilla :: StyleFloat , pub mBreakType : root :: mozilla :: StyleClear , pub mBreakInside : u8 , pub mBreakBefore : bool , pub mBreakAfter : bool , pub mOverflowX : u8 , pub mOverflowY : u8 , pub mOverflowClipBox : u8 , pub mResize : u8 , pub mOrient : root :: mozilla :: StyleOrient , pub mIsolation : u8 , pub mTopLayer : u8 , pub mWillChangeBitField : u8 , pub mWillChange : root :: nsTArray < root :: RefPtr < root :: nsAtom > > , pub mTouchAction : u8 , pub mScrollBehavior : u8 , pub mOverscrollBehaviorX : root :: mozilla :: StyleOverscrollBehavior , pub mOverscrollBehaviorY : root :: mozilla :: StyleOverscrollBehavior , pub mScrollSnapTypeX : u8 , pub mScrollSnapTypeY : u8 , pub mScrollSnapPointsX : root :: nsStyleCoord , pub mScrollSnapPointsY : root :: nsStyleCoord , pub mScrollSnapDestination : root :: mozilla :: Position , pub mScrollSnapCoordinate : root :: nsTArray < root :: mozilla :: Position > , pub mBackfaceVisibility : u8 , pub mTransformStyle : u8 , pub mTransformBox : root :: nsStyleDisplay_StyleGeometryBox , pub mSpecifiedTransform : root :: RefPtr < root :: nsCSSValueSharedList > , pub mTransformOrigin : [ root :: nsStyleCoord ; 3usize ] , pub mChildPerspective : root :: nsStyleCoord , pub mPerspectiveOrigin : [ root :: nsStyleCoord ; 2usize ] , pub mVerticalAlign : root :: nsStyleCoord , pub mTransitions : root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > , pub mTransitionTimingFunctionCount : u32 , pub mTransitionDurationCount : u32 , pub mTransitionDelayCount : u32 , pub mTransitionPropertyCount : u32 , pub mAnimations : root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > , pub mAnimationTimingFunctionCount : u32 , pub mAnimationDurationCount : u32 , pub mAnimationDelayCount : u32 , pub mAnimationNameCount : u32 , pub mAnimationDirectionCount : u32 , pub mAnimationFillModeCount : u32 , pub mAnimationPlayStateCount : u32 , pub mAnimationIterationCountCount : u32 , pub mShapeOutside : root :: mozilla :: StyleShapeSource , } pub use self :: super :: root :: mozilla :: StyleGeometryBox as nsStyleDisplay_StyleGeometryBox ; pub const nsStyleDisplay_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleDisplay ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleDisplay > ( ) , 416usize , concat ! ( "Size of: " , stringify ! ( nsStyleDisplay ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleDisplay > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBinding as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mDisplay as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalDisplay as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOriginalDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mContain as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mContain ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAppearance as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAppearance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mPosition as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mFloat as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalFloat as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOriginalFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakType as * const _ as usize } , 15usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakInside as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakInside ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakBefore as * const _ as usize } , 17usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakBefore ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakAfter as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakAfter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowX as * const _ as usize } , 19usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowY as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowClipBox as * const _ as usize } , 21usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowClipBox ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mResize as * const _ as usize } , 22usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mResize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOrient as * const _ as usize } , 23usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOrient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mIsolation as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mIsolation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTopLayer as * const _ as usize } , 25usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTopLayer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChangeBitField as * const _ as usize } , 26usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mWillChangeBitField ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChange as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mWillChange ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTouchAction as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTouchAction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollBehavior as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollBehavior ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverscrollBehaviorX as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverscrollBehaviorX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverscrollBehaviorY as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverscrollBehaviorY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeX as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapTypeX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeY as * const _ as usize } , 45usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapTypeY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapPointsX as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapPointsX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapPointsY as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapPointsY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapDestination as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapDestination ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapCoordinate as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapCoordinate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBackfaceVisibility as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBackfaceVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformStyle as * const _ as usize } , 113usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformBox as * const _ as usize } , 114usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformBox ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mSpecifiedTransform as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mSpecifiedTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformOrigin as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformOrigin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mChildPerspective as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mChildPerspective ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mPerspectiveOrigin as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mPerspectiveOrigin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mVerticalAlign as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mVerticalAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitions as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionTimingFunctionCount as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionTimingFunctionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionDurationCount as * const _ as usize } , 292usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionDurationCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionDelayCount as * const _ as usize } , 296usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionDelayCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionPropertyCount as * const _ as usize } , 300usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionPropertyCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimations as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationTimingFunctionCount as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationTimingFunctionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDurationCount as * const _ as usize } , 364usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDurationCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDelayCount as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDelayCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationNameCount as * const _ as usize } , 372usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationNameCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDirectionCount as * const _ as usize } , 376usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDirectionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationFillModeCount as * const _ as usize } , 380usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationFillModeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationPlayStateCount as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationPlayStateCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationIterationCountCount as * const _ as usize } , 388usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationIterationCountCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mShapeOutside as * const _ as usize } , 392usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mShapeOutside ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleTable { pub mLayoutStrategy : u8 , pub mSpan : i32 , } pub const nsStyleTable_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTable > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTable > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTable ) ) . mLayoutStrategy as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTable ) , "::" , stringify ! ( mLayoutStrategy ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTable ) ) . mSpan as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTable ) , "::" , stringify ! ( mSpan ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleTableBorder { pub mBorderSpacingCol : root :: nscoord , pub mBorderSpacingRow : root :: nscoord , pub mBorderCollapse : u8 , pub mCaptionSide : u8 , pub mEmptyCells : u8 , } pub const nsStyleTableBorder_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTableBorder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTableBorder > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( nsStyleTableBorder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTableBorder > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTableBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderSpacingCol as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderSpacingCol ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderSpacingRow as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderSpacingRow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderCollapse as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderCollapse ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mCaptionSide as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mCaptionSide ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mEmptyCells as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mEmptyCells ) ) ) ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleContentType { eStyleContentType_String = 1 , eStyleContentType_Image = 10 , eStyleContentType_Attr = 20 , eStyleContentType_Counter = 30 , eStyleContentType_Counters = 31 , eStyleContentType_OpenQuote = 40 , eStyleContentType_CloseQuote = 41 , eStyleContentType_NoOpenQuote = 42 , eStyleContentType_NoCloseQuote = 43 , eStyleContentType_AltContent = 50 , eStyleContentType_Uninitialized = 51 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleContentData { pub mType : root :: nsStyleContentType , pub mContent : root :: nsStyleContentData__bindgen_ty_1 , } # [ repr ( C ) ] pub struct nsStyleContentData_CounterFunction { pub mIdent : ::nsstring::nsStringRepr , pub mSeparator : ::nsstring::nsStringRepr , pub mCounterStyle : root :: mozilla :: CounterStylePtr , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , } pub type nsStyleContentData_CounterFunction_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsStyleContentData_CounterFunction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData_CounterFunction > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData_CounterFunction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData_CounterFunction > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData_CounterFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mIdent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mIdent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mSeparator as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mSeparator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mCounterStyle as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mCounterStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mRefCnt as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleContentData__bindgen_ty_1 { pub mString : root :: __BindgenUnionField < * mut u16 > , pub mImage : root :: __BindgenUnionField < * mut root :: nsStyleImageRequest > , pub mCounters : root :: __BindgenUnionField < * mut root :: nsStyleContentData_CounterFunction > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleContentData__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mCounters as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mCounters ) ) ) ; } impl Clone for nsStyleContentData__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleContentData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData ) ) . mContent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData ) , "::" , stringify ! ( mContent ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleCounterData { pub mCounter : ::nsstring::nsStringRepr , pub mValue : i32 , } # [ test ] fn bindgen_test_layout_nsStyleCounterData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleCounterData > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleCounterData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleCounterData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleCounterData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleCounterData ) ) . mCounter as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleCounterData ) , "::" , stringify ! ( mCounter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleCounterData ) ) . mValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleCounterData ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleContent { pub mContents : root :: nsTArray < root :: nsStyleContentData > , pub mIncrements : root :: nsTArray < root :: nsStyleCounterData > , pub mResets : root :: nsTArray < root :: nsStyleCounterData > , } pub const nsStyleContent_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleContent ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContent > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleContent ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContent > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mContents as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mContents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mIncrements as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mIncrements ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mResets as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mResets ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleUIReset { pub mUserSelect : root :: mozilla :: StyleUserSelect , pub mForceBrokenImageIcon : u8 , pub mIMEMode : u8 , pub mWindowDragging : root :: mozilla :: StyleWindowDragging , pub mWindowShadow : u8 , pub mWindowOpacity : f32 , pub mSpecifiedWindowTransform : root :: RefPtr < root :: nsCSSValueSharedList > , pub mWindowTransformOrigin : [ root :: nsStyleCoord ; 2usize ] , } pub const nsStyleUIReset_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleUIReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleUIReset > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( nsStyleUIReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleUIReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleUIReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mUserSelect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mUserSelect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mForceBrokenImageIcon as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mForceBrokenImageIcon ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mIMEMode as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mIMEMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowDragging as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowDragging ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowShadow as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowOpacity as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mSpecifiedWindowTransform as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mSpecifiedWindowTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowTransformOrigin as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowTransformOrigin ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCursorImage { pub mHaveHotspot : bool , pub mHotspotX : f32 , pub mHotspotY : f32 , pub mImage : root :: RefPtr < root :: nsStyleImageRequest > , } # [ test ] fn bindgen_test_layout_nsCursorImage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCursorImage > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsCursorImage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCursorImage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCursorImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHaveHotspot as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHaveHotspot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHotspotX as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHotspotX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHotspotY as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHotspotY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mImage as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mImage ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleUserInterface { pub mUserInput : root :: mozilla :: StyleUserInput , pub mUserModify : root :: mozilla :: StyleUserModify , pub mUserFocus : root :: mozilla :: StyleUserFocus , pub mPointerEvents : u8 , pub mCursor : u8 , pub mCursorImages : root :: nsTArray < root :: nsCursorImage > , pub mCaretColor : root :: mozilla :: StyleComplexColor , } pub const nsStyleUserInterface_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleUserInterface ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleUserInterface > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleUserInterface ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleUserInterface > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleUserInterface ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserInput as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserInput ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserModify as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserModify ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserFocus as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserFocus ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mPointerEvents as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mPointerEvents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursor as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCursor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursorImages as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCursorImages ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCaretColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCaretColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleXUL { pub mBoxFlex : f32 , pub mBoxOrdinal : u32 , pub mBoxAlign : root :: mozilla :: StyleBoxAlign , pub mBoxDirection : root :: mozilla :: StyleBoxDirection , pub mBoxOrient : root :: mozilla :: StyleBoxOrient , pub mBoxPack : root :: mozilla :: StyleBoxPack , pub mStackSizing : root :: mozilla :: StyleStackSizing , } pub const nsStyleXUL_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleXUL ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleXUL > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleXUL ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleXUL > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleXUL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxFlex as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxFlex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrdinal as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxOrdinal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxAlign as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxDirection as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrient as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxOrient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxPack as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxPack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mStackSizing as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mStackSizing ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleColumn { pub mColumnCount : u32 , pub mColumnWidth : root :: nsStyleCoord , pub mColumnGap : root :: nsStyleCoord , pub mColumnRuleColor : root :: mozilla :: StyleComplexColor , pub mColumnRuleStyle : u8 , pub mColumnFill : u8 , pub mColumnSpan : u8 , pub mColumnRuleWidth : root :: nscoord , pub mTwipsPerPixel : root :: nscoord , } pub const nsStyleColumn_kHasFinishStyle : bool = false ; pub const nsStyleColumn_kMaxColumnCount : u32 = 1000 ; # [ test ] fn bindgen_test_layout_nsStyleColumn ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleColumn > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( nsStyleColumn ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleColumn > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleColumn ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnWidth as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnGap as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnGap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleColor as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleStyle as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnFill as * const _ as usize } , 49usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnFill ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnSpan as * const _ as usize } , 50usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnSpan ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleWidth as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mTwipsPerPixel as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mTwipsPerPixel ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGPaintType { eStyleSVGPaintType_None = 1 , eStyleSVGPaintType_Color = 2 , eStyleSVGPaintType_Server = 3 , eStyleSVGPaintType_ContextFill = 4 , eStyleSVGPaintType_ContextStroke = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGFallbackType { eStyleSVGFallbackType_NotSet = 0 , eStyleSVGFallbackType_None = 1 , eStyleSVGFallbackType_Color = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGOpacitySource { eStyleSVGOpacitySource_Normal = 0 , eStyleSVGOpacitySource_ContextFillOpacity = 1 , eStyleSVGOpacitySource_ContextStrokeOpacity = 2 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVGPaint { pub mPaint : root :: nsStyleSVGPaint__bindgen_ty_1 , pub mType : root :: nsStyleSVGPaintType , pub mFallbackType : root :: nsStyleSVGFallbackType , pub mFallbackColor : root :: nscolor , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleSVGPaint__bindgen_ty_1 { pub mColor : root :: __BindgenUnionField < root :: nscolor > , pub mPaintServer : root :: __BindgenUnionField < * mut root :: mozilla :: css :: URLValue > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGPaint__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGPaint__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . mColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . mPaintServer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( mPaintServer ) ) ) ; } impl Clone for nsStyleSVGPaint__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleSVGPaint ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGPaint > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGPaint ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGPaint > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGPaint ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mPaint as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mPaint ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mFallbackType as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mFallbackType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mFallbackColor as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mFallbackColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVG { pub mFill : root :: nsStyleSVGPaint , pub mStroke : root :: nsStyleSVGPaint , pub mMarkerEnd : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mMarkerMid : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mMarkerStart : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mStrokeDasharray : root :: nsTArray < root :: nsStyleCoord > , pub mContextProps : root :: nsTArray < root :: RefPtr < root :: nsAtom > > , pub mStrokeDashoffset : root :: nsStyleCoord , pub mStrokeWidth : root :: nsStyleCoord , pub mFillOpacity : f32 , pub mStrokeMiterlimit : f32 , pub mStrokeOpacity : f32 , pub mClipRule : root :: mozilla :: StyleFillRule , pub mColorInterpolation : u8 , pub mColorInterpolationFilters : u8 , pub mFillRule : root :: mozilla :: StyleFillRule , pub mPaintOrder : u8 , pub mShapeRendering : u8 , pub mStrokeLinecap : u8 , pub mStrokeLinejoin : u8 , pub mTextAnchor : u8 , pub mContextPropsBits : u8 , pub mContextFlags : u8 , } pub const nsStyleSVG_kHasFinishStyle : bool = false ; pub const nsStyleSVG_FILL_OPACITY_SOURCE_MASK : u8 = 3 ; pub const nsStyleSVG_STROKE_OPACITY_SOURCE_MASK : u8 = 12 ; pub const nsStyleSVG_STROKE_DASHARRAY_CONTEXT : u8 = 16 ; pub const nsStyleSVG_STROKE_DASHOFFSET_CONTEXT : u8 = 32 ; pub const nsStyleSVG_STROKE_WIDTH_CONTEXT : u8 = 64 ; pub const nsStyleSVG_FILL_OPACITY_SOURCE_SHIFT : u8 = 0 ; pub const nsStyleSVG_STROKE_OPACITY_SOURCE_SHIFT : u8 = 2 ; # [ test ] fn bindgen_test_layout_nsStyleSVG ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVG > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVG ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVG > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVG ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFill as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFill ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStroke as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStroke ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerEnd as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerMid as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerMid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerStart as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDasharray as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeDasharray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextProps as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextProps ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDashoffset as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeDashoffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeWidth as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFillOpacity as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFillOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeMiterlimit as * const _ as usize } , 108usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeMiterlimit ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeOpacity as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mClipRule as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mClipRule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolation as * const _ as usize } , 117usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mColorInterpolation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolationFilters as * const _ as usize } , 118usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mColorInterpolationFilters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFillRule as * const _ as usize } , 119usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFillRule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mPaintOrder as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mPaintOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mShapeRendering as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mShapeRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinecap as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeLinecap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinejoin as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeLinejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mTextAnchor as * const _ as usize } , 124usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mTextAnchor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextPropsBits as * const _ as usize } , 125usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextPropsBits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextFlags as * const _ as usize } , 126usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextFlags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleFilter { pub mType : u32 , pub mFilterParameter : root :: nsStyleCoord , pub __bindgen_anon_1 : root :: nsStyleFilter__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleFilter__bindgen_ty_1 { pub mURL : root :: __BindgenUnionField < * mut root :: mozilla :: css :: URLValue > , pub mDropShadow : root :: __BindgenUnionField < * mut root :: nsCSSShadowArray > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleFilter__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleFilter__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleFilter__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . mURL as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( mURL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . mDropShadow as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( mDropShadow ) ) ) ; } impl Clone for nsStyleFilter__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } pub const nsStyleFilter_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleFilter ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleFilter > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsStyleFilter ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleFilter > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleFilter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter ) ) . mFilterParameter as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter ) , "::" , stringify ! ( mFilterParameter ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVGReset { pub mMask : root :: nsStyleImageLayers , pub mClipPath : root :: mozilla :: StyleShapeSource , pub mStopColor : root :: nscolor , pub mFloodColor : root :: nscolor , pub mLightingColor : root :: nscolor , pub mStopOpacity : f32 , pub mFloodOpacity : f32 , pub mDominantBaseline : u8 , pub mVectorEffect : u8 , pub mMaskType : u8 , } pub const nsStyleSVGReset_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleSVGReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGReset > ( ) , 200usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mMask as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mMask ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mClipPath as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mClipPath ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopColor as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mStopColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodColor as * const _ as usize } , 180usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mFloodColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mLightingColor as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mLightingColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopOpacity as * const _ as usize } , 188usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mStopOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodOpacity as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mFloodOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mDominantBaseline as * const _ as usize } , 196usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mDominantBaseline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mVectorEffect as * const _ as usize } , 197usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mVectorEffect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mMaskType as * const _ as usize } , 198usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mMaskType ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleVariables { pub mVariables : root :: mozilla :: CSSVariableValues , } pub const nsStyleVariables_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleVariables ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleVariables > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStyleVariables ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleVariables > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleVariables ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVariables ) ) . mVariables as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVariables ) , "::" , stringify ! ( mVariables ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleEffects { pub mFilters : root :: nsTArray < root :: nsStyleFilter > , pub mBoxShadow : root :: RefPtr < root :: nsCSSShadowArray > , pub mClip : root :: nsRect , pub mOpacity : f32 , pub mClipFlags : u8 , pub mMixBlendMode : u8 , } pub const nsStyleEffects_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleEffects ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleEffects > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStyleEffects ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleEffects > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleEffects ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mFilters as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mFilters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mBoxShadow as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mBoxShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mClip as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mClip ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mOpacity as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mClipFlags as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mClipFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mMixBlendMode as * const _ as usize } , 37usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mMixBlendMode ) ) ) ; } /// These *_Simple types are used to map Gecko types to layout-equivalent but /// simpler Rust types, to aid Rust binding generation. /// @@ -1564,7 +1567,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCOMArray { pub mBuffer : root :: nsTArray < * mut root :: nsISupports > , } pub const ThemeWidgetType_NS_THEME_NONE : root :: ThemeWidgetType = 0 ; pub const ThemeWidgetType_NS_THEME_BUTTON : root :: ThemeWidgetType = 1 ; pub const ThemeWidgetType_NS_THEME_RADIO : root :: ThemeWidgetType = 2 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX : root :: ThemeWidgetType = 3 ; pub const ThemeWidgetType_NS_THEME_BUTTON_BEVEL : root :: ThemeWidgetType = 4 ; pub const ThemeWidgetType_NS_THEME_FOCUS_OUTLINE : root :: ThemeWidgetType = 5 ; pub const ThemeWidgetType_NS_THEME_TOOLBOX : root :: ThemeWidgetType = 6 ; pub const ThemeWidgetType_NS_THEME_TOOLBAR : root :: ThemeWidgetType = 7 ; pub const ThemeWidgetType_NS_THEME_TOOLBARBUTTON : root :: ThemeWidgetType = 8 ; pub const ThemeWidgetType_NS_THEME_DUALBUTTON : root :: ThemeWidgetType = 9 ; pub const ThemeWidgetType_NS_THEME_TOOLBARBUTTON_DROPDOWN : root :: ThemeWidgetType = 10 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_UP : root :: ThemeWidgetType = 11 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_DOWN : root :: ThemeWidgetType = 12 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_NEXT : root :: ThemeWidgetType = 13 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_PREVIOUS : root :: ThemeWidgetType = 14 ; pub const ThemeWidgetType_NS_THEME_SEPARATOR : root :: ThemeWidgetType = 15 ; pub const ThemeWidgetType_NS_THEME_TOOLBARGRIPPER : root :: ThemeWidgetType = 16 ; pub const ThemeWidgetType_NS_THEME_SPLITTER : root :: ThemeWidgetType = 17 ; pub const ThemeWidgetType_NS_THEME_STATUSBAR : root :: ThemeWidgetType = 18 ; pub const ThemeWidgetType_NS_THEME_STATUSBARPANEL : root :: ThemeWidgetType = 19 ; pub const ThemeWidgetType_NS_THEME_RESIZERPANEL : root :: ThemeWidgetType = 20 ; pub const ThemeWidgetType_NS_THEME_RESIZER : root :: ThemeWidgetType = 21 ; pub const ThemeWidgetType_NS_THEME_LISTBOX : root :: ThemeWidgetType = 22 ; pub const ThemeWidgetType_NS_THEME_LISTITEM : root :: ThemeWidgetType = 23 ; pub const ThemeWidgetType_NS_THEME_TREEVIEW : root :: ThemeWidgetType = 24 ; pub const ThemeWidgetType_NS_THEME_TREEITEM : root :: ThemeWidgetType = 25 ; pub const ThemeWidgetType_NS_THEME_TREETWISTY : root :: ThemeWidgetType = 26 ; pub const ThemeWidgetType_NS_THEME_TREELINE : root :: ThemeWidgetType = 27 ; pub const ThemeWidgetType_NS_THEME_TREEHEADER : root :: ThemeWidgetType = 28 ; pub const ThemeWidgetType_NS_THEME_TREEHEADERCELL : root :: ThemeWidgetType = 29 ; pub const ThemeWidgetType_NS_THEME_TREEHEADERSORTARROW : root :: ThemeWidgetType = 30 ; pub const ThemeWidgetType_NS_THEME_TREETWISTYOPEN : root :: ThemeWidgetType = 31 ; pub const ThemeWidgetType_NS_THEME_PROGRESSBAR : root :: ThemeWidgetType = 32 ; pub const ThemeWidgetType_NS_THEME_PROGRESSCHUNK : root :: ThemeWidgetType = 33 ; pub const ThemeWidgetType_NS_THEME_PROGRESSBAR_VERTICAL : root :: ThemeWidgetType = 34 ; pub const ThemeWidgetType_NS_THEME_PROGRESSCHUNK_VERTICAL : root :: ThemeWidgetType = 35 ; pub const ThemeWidgetType_NS_THEME_METERBAR : root :: ThemeWidgetType = 36 ; pub const ThemeWidgetType_NS_THEME_METERCHUNK : root :: ThemeWidgetType = 37 ; pub const ThemeWidgetType_NS_THEME_TAB : root :: ThemeWidgetType = 38 ; pub const ThemeWidgetType_NS_THEME_TABPANEL : root :: ThemeWidgetType = 39 ; pub const ThemeWidgetType_NS_THEME_TABPANELS : root :: ThemeWidgetType = 40 ; pub const ThemeWidgetType_NS_THEME_TAB_SCROLL_ARROW_BACK : root :: ThemeWidgetType = 41 ; pub const ThemeWidgetType_NS_THEME_TAB_SCROLL_ARROW_FORWARD : root :: ThemeWidgetType = 42 ; pub const ThemeWidgetType_NS_THEME_TOOLTIP : root :: ThemeWidgetType = 43 ; pub const ThemeWidgetType_NS_THEME_SPINNER : root :: ThemeWidgetType = 44 ; pub const ThemeWidgetType_NS_THEME_SPINNER_UPBUTTON : root :: ThemeWidgetType = 45 ; pub const ThemeWidgetType_NS_THEME_SPINNER_DOWNBUTTON : root :: ThemeWidgetType = 46 ; pub const ThemeWidgetType_NS_THEME_SPINNER_TEXTFIELD : root :: ThemeWidgetType = 47 ; pub const ThemeWidgetType_NS_THEME_NUMBER_INPUT : root :: ThemeWidgetType = 48 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR : root :: ThemeWidgetType = 49 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_SMALL : root :: ThemeWidgetType = 50 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_HORIZONTAL : root :: ThemeWidgetType = 51 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_VERTICAL : root :: ThemeWidgetType = 52 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_UP : root :: ThemeWidgetType = 53 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_DOWN : root :: ThemeWidgetType = 54 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_LEFT : root :: ThemeWidgetType = 55 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_RIGHT : root :: ThemeWidgetType = 56 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTRACK_HORIZONTAL : root :: ThemeWidgetType = 57 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTRACK_VERTICAL : root :: ThemeWidgetType = 58 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTHUMB_HORIZONTAL : root :: ThemeWidgetType = 59 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTHUMB_VERTICAL : root :: ThemeWidgetType = 60 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_NON_DISAPPEARING : root :: ThemeWidgetType = 61 ; pub const ThemeWidgetType_NS_THEME_TEXTFIELD : root :: ThemeWidgetType = 62 ; pub const ThemeWidgetType_NS_THEME_CARET : root :: ThemeWidgetType = 63 ; pub const ThemeWidgetType_NS_THEME_TEXTFIELD_MULTILINE : root :: ThemeWidgetType = 64 ; pub const ThemeWidgetType_NS_THEME_SEARCHFIELD : root :: ThemeWidgetType = 65 ; pub const ThemeWidgetType_NS_THEME_MENULIST : root :: ThemeWidgetType = 66 ; pub const ThemeWidgetType_NS_THEME_MENULIST_BUTTON : root :: ThemeWidgetType = 67 ; pub const ThemeWidgetType_NS_THEME_MENULIST_TEXT : root :: ThemeWidgetType = 68 ; pub const ThemeWidgetType_NS_THEME_MENULIST_TEXTFIELD : root :: ThemeWidgetType = 69 ; pub const ThemeWidgetType_NS_THEME_SCALE_HORIZONTAL : root :: ThemeWidgetType = 70 ; pub const ThemeWidgetType_NS_THEME_SCALE_VERTICAL : root :: ThemeWidgetType = 71 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMB_HORIZONTAL : root :: ThemeWidgetType = 72 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMB_VERTICAL : root :: ThemeWidgetType = 73 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBSTART : root :: ThemeWidgetType = 74 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBEND : root :: ThemeWidgetType = 75 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBTICK : root :: ThemeWidgetType = 76 ; pub const ThemeWidgetType_NS_THEME_RANGE : root :: ThemeWidgetType = 77 ; pub const ThemeWidgetType_NS_THEME_RANGE_THUMB : root :: ThemeWidgetType = 78 ; pub const ThemeWidgetType_NS_THEME_GROUPBOX : root :: ThemeWidgetType = 79 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX_CONTAINER : root :: ThemeWidgetType = 80 ; pub const ThemeWidgetType_NS_THEME_RADIO_CONTAINER : root :: ThemeWidgetType = 81 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX_LABEL : root :: ThemeWidgetType = 82 ; pub const ThemeWidgetType_NS_THEME_RADIO_LABEL : root :: ThemeWidgetType = 83 ; pub const ThemeWidgetType_NS_THEME_BUTTON_FOCUS : root :: ThemeWidgetType = 84 ; pub const ThemeWidgetType_NS_THEME_WINDOW : root :: ThemeWidgetType = 85 ; pub const ThemeWidgetType_NS_THEME_DIALOG : root :: ThemeWidgetType = 86 ; pub const ThemeWidgetType_NS_THEME_MENUBAR : root :: ThemeWidgetType = 87 ; pub const ThemeWidgetType_NS_THEME_MENUPOPUP : root :: ThemeWidgetType = 88 ; pub const ThemeWidgetType_NS_THEME_MENUITEM : root :: ThemeWidgetType = 89 ; pub const ThemeWidgetType_NS_THEME_CHECKMENUITEM : root :: ThemeWidgetType = 90 ; pub const ThemeWidgetType_NS_THEME_RADIOMENUITEM : root :: ThemeWidgetType = 91 ; pub const ThemeWidgetType_NS_THEME_MENUCHECKBOX : root :: ThemeWidgetType = 92 ; pub const ThemeWidgetType_NS_THEME_MENURADIO : root :: ThemeWidgetType = 93 ; pub const ThemeWidgetType_NS_THEME_MENUSEPARATOR : root :: ThemeWidgetType = 94 ; pub const ThemeWidgetType_NS_THEME_MENUARROW : root :: ThemeWidgetType = 95 ; pub const ThemeWidgetType_NS_THEME_MENUIMAGE : root :: ThemeWidgetType = 96 ; pub const ThemeWidgetType_NS_THEME_MENUITEMTEXT : root :: ThemeWidgetType = 97 ; pub const ThemeWidgetType_NS_THEME_WIN_COMMUNICATIONS_TOOLBOX : root :: ThemeWidgetType = 98 ; pub const ThemeWidgetType_NS_THEME_WIN_MEDIA_TOOLBOX : root :: ThemeWidgetType = 99 ; pub const ThemeWidgetType_NS_THEME_WIN_BROWSERTABBAR_TOOLBOX : root :: ThemeWidgetType = 100 ; pub const ThemeWidgetType_NS_THEME_MAC_FULLSCREEN_BUTTON : root :: ThemeWidgetType = 101 ; pub const ThemeWidgetType_NS_THEME_MAC_HELP_BUTTON : root :: ThemeWidgetType = 102 ; pub const ThemeWidgetType_NS_THEME_WIN_BORDERLESS_GLASS : root :: ThemeWidgetType = 103 ; pub const ThemeWidgetType_NS_THEME_WIN_GLASS : root :: ThemeWidgetType = 104 ; pub const ThemeWidgetType_NS_THEME_WINDOW_TITLEBAR : root :: ThemeWidgetType = 105 ; pub const ThemeWidgetType_NS_THEME_WINDOW_TITLEBAR_MAXIMIZED : root :: ThemeWidgetType = 106 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_LEFT : root :: ThemeWidgetType = 107 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_RIGHT : root :: ThemeWidgetType = 108 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_BOTTOM : root :: ThemeWidgetType = 109 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_CLOSE : root :: ThemeWidgetType = 110 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_MINIMIZE : root :: ThemeWidgetType = 111 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_MAXIMIZE : root :: ThemeWidgetType = 112 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_RESTORE : root :: ThemeWidgetType = 113 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_BOX : root :: ThemeWidgetType = 114 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_BOX_MAXIMIZED : root :: ThemeWidgetType = 115 ; pub const ThemeWidgetType_NS_THEME_WIN_EXCLUDE_GLASS : root :: ThemeWidgetType = 116 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANCY_LIGHT : root :: ThemeWidgetType = 117 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANCY_DARK : root :: ThemeWidgetType = 118 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANT_TITLEBAR_LIGHT : root :: ThemeWidgetType = 119 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANT_TITLEBAR_DARK : root :: ThemeWidgetType = 120 ; pub const ThemeWidgetType_NS_THEME_MAC_DISCLOSURE_BUTTON_OPEN : root :: ThemeWidgetType = 121 ; pub const ThemeWidgetType_NS_THEME_MAC_DISCLOSURE_BUTTON_CLOSED : root :: ThemeWidgetType = 122 ; pub const ThemeWidgetType_NS_THEME_GTK_INFO_BAR : root :: ThemeWidgetType = 123 ; pub const ThemeWidgetType_NS_THEME_MAC_SOURCE_LIST : root :: ThemeWidgetType = 124 ; pub const ThemeWidgetType_NS_THEME_MAC_SOURCE_LIST_SELECTION : root :: ThemeWidgetType = 125 ; pub const ThemeWidgetType_NS_THEME_MAC_ACTIVE_SOURCE_LIST_SELECTION : root :: ThemeWidgetType = 126 ; pub const ThemeWidgetType_ThemeWidgetType_COUNT : root :: ThemeWidgetType = 127 ; pub type ThemeWidgetType = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIConsoleReportCollector { _unused : [ u8 ; 0 ] } /// Utility class to provide scaling defined in a keySplines element. # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsSMILKeySpline { pub mX1 : f64 , pub mY1 : f64 , pub mX2 : f64 , pub mY2 : f64 , pub mSampleValues : [ f64 ; 11usize ] , } pub const nsSMILKeySpline_kSplineTableSize : root :: nsSMILKeySpline__bindgen_ty_1 = 11 ; pub type nsSMILKeySpline__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}_ZN15nsSMILKeySpline15kSampleStepSizeE" ] + # [ link_name = "\u{1}__ZN15nsSMILKeySpline15kSampleStepSizeE" ] pub static mut nsSMILKeySpline_kSampleStepSize : f64 ; } # [ test ] fn bindgen_test_layout_nsSMILKeySpline ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsSMILKeySpline > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( nsSMILKeySpline ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsSMILKeySpline > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsSMILKeySpline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mX1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mX1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mY1 as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mY1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mX2 as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mX2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mY2 as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mY2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mSampleValues as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mSampleValues ) ) ) ; } impl Clone for nsSMILKeySpline { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrName { pub mBits : usize , } # [ test ] fn bindgen_test_layout_nsAttrName ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrName > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsAttrName ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrName > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrName ) ) . mBits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrName ) , "::" , stringify ! ( mBits ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrValue { pub mBits : usize , } pub const nsAttrValue_ValueType_eString : root :: nsAttrValue_ValueType = 0 ; pub const nsAttrValue_ValueType_eAtom : root :: nsAttrValue_ValueType = 2 ; pub const nsAttrValue_ValueType_eInteger : root :: nsAttrValue_ValueType = 3 ; pub const nsAttrValue_ValueType_eColor : root :: nsAttrValue_ValueType = 7 ; pub const nsAttrValue_ValueType_eEnum : root :: nsAttrValue_ValueType = 11 ; pub const nsAttrValue_ValueType_ePercent : root :: nsAttrValue_ValueType = 15 ; pub const nsAttrValue_ValueType_eCSSDeclaration : root :: nsAttrValue_ValueType = 16 ; pub const nsAttrValue_ValueType_eURL : root :: nsAttrValue_ValueType = 17 ; pub const nsAttrValue_ValueType_eImage : root :: nsAttrValue_ValueType = 18 ; pub const nsAttrValue_ValueType_eAtomArray : root :: nsAttrValue_ValueType = 19 ; pub const nsAttrValue_ValueType_eDoubleValue : root :: nsAttrValue_ValueType = 20 ; pub const nsAttrValue_ValueType_eIntMarginValue : root :: nsAttrValue_ValueType = 21 ; pub const nsAttrValue_ValueType_eSVGAngle : root :: nsAttrValue_ValueType = 22 ; pub const nsAttrValue_ValueType_eSVGTypesBegin : root :: nsAttrValue_ValueType = 22 ; pub const nsAttrValue_ValueType_eSVGIntegerPair : root :: nsAttrValue_ValueType = 23 ; pub const nsAttrValue_ValueType_eSVGLength : root :: nsAttrValue_ValueType = 24 ; pub const nsAttrValue_ValueType_eSVGLengthList : root :: nsAttrValue_ValueType = 25 ; pub const nsAttrValue_ValueType_eSVGNumberList : root :: nsAttrValue_ValueType = 26 ; pub const nsAttrValue_ValueType_eSVGNumberPair : root :: nsAttrValue_ValueType = 27 ; pub const nsAttrValue_ValueType_eSVGPathData : root :: nsAttrValue_ValueType = 28 ; pub const nsAttrValue_ValueType_eSVGPointList : root :: nsAttrValue_ValueType = 29 ; pub const nsAttrValue_ValueType_eSVGPreserveAspectRatio : root :: nsAttrValue_ValueType = 30 ; pub const nsAttrValue_ValueType_eSVGStringList : root :: nsAttrValue_ValueType = 31 ; pub const nsAttrValue_ValueType_eSVGTransformList : root :: nsAttrValue_ValueType = 32 ; pub const nsAttrValue_ValueType_eSVGViewBox : root :: nsAttrValue_ValueType = 33 ; pub const nsAttrValue_ValueType_eSVGTypesEnd : root :: nsAttrValue_ValueType = 33 ; pub type nsAttrValue_ValueType = :: std :: os :: raw :: c_uint ; /// Structure for a mapping from int (enum) values to strings. When you use @@ -1580,12 +1583,12 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: pub tag : * const :: std :: os :: raw :: c_char , /// The enum value that maps to this string pub value : i16 , } # [ test ] fn bindgen_test_layout_nsAttrValue_EnumTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrValue_EnumTable > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsAttrValue_EnumTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrValue_EnumTable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrValue_EnumTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrValue_EnumTable ) ) . tag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrValue_EnumTable ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrValue_EnumTable ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrValue_EnumTable ) , "::" , stringify ! ( value ) ) ) ; } impl Clone for nsAttrValue_EnumTable { fn clone ( & self ) -> Self { * self } } pub const nsAttrValue_ValueBaseType_eStringBase : root :: nsAttrValue_ValueBaseType = 0 ; pub const nsAttrValue_ValueBaseType_eOtherBase : root :: nsAttrValue_ValueBaseType = 1 ; pub const nsAttrValue_ValueBaseType_eAtomBase : root :: nsAttrValue_ValueBaseType = 2 ; pub const nsAttrValue_ValueBaseType_eIntegerBase : root :: nsAttrValue_ValueBaseType = 3 ; pub type nsAttrValue_ValueBaseType = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}_ZN11nsAttrValue15sEnumTableArrayE" ] + # [ link_name = "\u{1}__ZN11nsAttrValue15sEnumTableArrayE" ] pub static mut nsAttrValue_sEnumTableArray : * mut root :: nsTArray < * const root :: nsAttrValue_EnumTable > ; } # [ test ] fn bindgen_test_layout_nsAttrValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrValue > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsAttrValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrValue ) ) . mBits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrValue ) , "::" , stringify ! ( mBits ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsMappedAttributes { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrAndChildArray { pub mImpl : * mut root :: nsAttrAndChildArray_Impl , } pub type nsAttrAndChildArray_BorrowedAttrInfo = root :: mozilla :: dom :: BorrowedAttrInfo ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrAndChildArray_InternalAttr { pub mName : root :: nsAttrName , pub mValue : root :: nsAttrValue , } # [ test ] fn bindgen_test_layout_nsAttrAndChildArray_InternalAttr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrAndChildArray_InternalAttr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsAttrAndChildArray_InternalAttr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrAndChildArray_InternalAttr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrAndChildArray_InternalAttr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_InternalAttr ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_InternalAttr ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_InternalAttr ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_InternalAttr ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsAttrAndChildArray_Impl { pub mAttrAndChildCount : u32 , pub mBufferSize : u32 , pub mMappedAttrs : * mut root :: nsMappedAttributes , pub mBuffer : [ * mut :: std :: os :: raw :: c_void ; 1usize ] , } # [ test ] fn bindgen_test_layout_nsAttrAndChildArray_Impl ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrAndChildArray_Impl > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsAttrAndChildArray_Impl ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrAndChildArray_Impl > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrAndChildArray_Impl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . mAttrAndChildCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_Impl ) , "::" , stringify ! ( mAttrAndChildCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . mBufferSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_Impl ) , "::" , stringify ! ( mBufferSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . mMappedAttrs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_Impl ) , "::" , stringify ! ( mMappedAttrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . mBuffer as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_Impl ) , "::" , stringify ! ( mBuffer ) ) ) ; } impl Clone for nsAttrAndChildArray_Impl { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsAttrAndChildArray ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrAndChildArray > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsAttrAndChildArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrAndChildArray > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrAndChildArray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray ) ) . mImpl as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray ) , "::" , stringify ! ( mImpl ) ) ) ; } /// An internal interface # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIHTMLCollection { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIHTMLCollection_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIHTMLCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIHTMLCollection > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIHTMLCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIHTMLCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIHTMLCollection ) ) ) ; } impl Clone for nsIHTMLCollection { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsXBLDocumentInfo { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIStyleRuleProcessor { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIStyleRuleProcessor_COMTypeInfo { pub _address : u8 , } pub type nsIStyleRuleProcessor_EnumFunc = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut root :: nsIStyleRuleProcessor , arg2 : * mut :: std :: os :: raw :: c_void ) -> bool > ; # [ test ] fn bindgen_test_layout_nsIStyleRuleProcessor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIStyleRuleProcessor > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIStyleRuleProcessor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIStyleRuleProcessor > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIStyleRuleProcessor ) ) ) ; } impl Clone for nsIStyleRuleProcessor { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsXBLPrototypeBinding { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsAnonymousContentList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct nsXBLBinding { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mMarkedForDeath : bool , pub mUsingContentXBLScope : bool , pub mIsShadowRootBinding : bool , pub mPrototypeBinding : * mut root :: nsXBLPrototypeBinding , pub mContent : root :: nsCOMPtr , pub mNextBinding : root :: RefPtr < root :: nsXBLBinding > , pub mBoundElement : * mut root :: nsIContent , pub mDefaultInsertionPoint : root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > , pub mInsertionPoints : root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > , pub mAnonymousContentList : root :: RefPtr < root :: nsAnonymousContentList > , } pub type nsXBLBinding_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsXBLBinding_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_nsXBLBinding_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsXBLBinding_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsXBLBinding_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsXBLBinding_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsXBLBinding_cycleCollection ) ) ) ; } impl Clone for nsXBLBinding_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}_ZN12nsXBLBinding21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN12nsXBLBinding21_cycleCollectorGlobalE" ] pub static mut nsXBLBinding__cycleCollectorGlobal : root :: nsXBLBinding_cycleCollection ; } # [ test ] fn bindgen_test_layout_nsXBLBinding ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsXBLBinding > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( nsXBLBinding ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsXBLBinding > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsXBLBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mMarkedForDeath as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mMarkedForDeath ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mUsingContentXBLScope as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mUsingContentXBLScope ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mIsShadowRootBinding as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mIsShadowRootBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mPrototypeBinding as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mPrototypeBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mContent as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mNextBinding as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mNextBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mBoundElement as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mBoundElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mDefaultInsertionPoint as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mDefaultInsertionPoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mInsertionPoints as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mInsertionPoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mAnonymousContentList as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mAnonymousContentList ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsLabelsNodeList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsDOMTokenList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsDOMStringMap { _unused : [ u8 ; 0 ] } /// A class that implements nsIWeakReference @@ -1613,11 +1616,11 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrHashKey { pub _base : root :: PLDHashEntryHdr , pub mKey : root :: nsAttrKey , } pub type nsAttrHashKey_KeyType = * const root :: nsAttrKey ; pub type nsAttrHashKey_KeyTypePointer = * const root :: nsAttrKey ; pub const nsAttrHashKey_ALLOW_MEMMOVE : root :: nsAttrHashKey__bindgen_ty_1 = 1 ; pub type nsAttrHashKey__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsAttrHashKey ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrHashKey > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsAttrHashKey ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrHashKey > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrHashKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrHashKey ) ) . mKey as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrHashKey ) , "::" , stringify ! ( mKey ) ) ) ; } # [ repr ( C ) ] pub struct nsDOMAttributeMap { pub _base : root :: nsIDOMMozNamedAttrMap , pub _base_1 : root :: nsWrapperCache , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mContent : root :: nsCOMPtr , /// Cache of Attrs. pub mAttributeCache : root :: nsDOMAttributeMap_AttrCache , } pub type nsDOMAttributeMap_Attr = root :: mozilla :: dom :: Attr ; pub type nsDOMAttributeMap_Element = root :: mozilla :: dom :: Element ; pub type nsDOMAttributeMap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsDOMAttributeMap_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_nsDOMAttributeMap_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsDOMAttributeMap_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsDOMAttributeMap_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsDOMAttributeMap_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsDOMAttributeMap_cycleCollection ) ) ) ; } impl Clone for nsDOMAttributeMap_cycleCollection { fn clone ( & self ) -> Self { * self } } pub type nsDOMAttributeMap_AttrCache = [ u64 ; 4usize ] ; extern "C" { - # [ link_name = "\u{1}_ZN17nsDOMAttributeMap21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN17nsDOMAttributeMap21_cycleCollectorGlobalE" ] pub static mut nsDOMAttributeMap__cycleCollectorGlobal : root :: nsDOMAttributeMap_cycleCollection ; } # [ test ] fn bindgen_test_layout_nsDOMAttributeMap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsDOMAttributeMap > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( nsDOMAttributeMap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsDOMAttributeMap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsDOMAttributeMap ) ) ) ; } # [ repr ( C ) ] pub struct nsISMILAttr__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; /// - # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsISMILAttr { pub vtable_ : * const nsISMILAttr__bindgen_vtable , } # [ test ] fn bindgen_test_layout_nsISMILAttr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsISMILAttr > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsISMILAttr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsISMILAttr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsISMILAttr ) ) ) ; } pub const ELEMENT_SHARED_RESTYLE_BIT_1 : root :: _bindgen_ty_74 = 8388608 ; pub const ELEMENT_SHARED_RESTYLE_BIT_2 : root :: _bindgen_ty_74 = 16777216 ; pub const ELEMENT_SHARED_RESTYLE_BIT_3 : root :: _bindgen_ty_74 = 33554432 ; pub const ELEMENT_SHARED_RESTYLE_BIT_4 : root :: _bindgen_ty_74 = 67108864 ; pub const ELEMENT_SHARED_RESTYLE_BITS : root :: _bindgen_ty_74 = 125829120 ; pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_74 = 8388608 ; pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_74 = 16777216 ; pub const ELEMENT_HAS_SNAPSHOT : root :: _bindgen_ty_74 = 33554432 ; pub const ELEMENT_HANDLED_SNAPSHOT : root :: _bindgen_ty_74 = 67108864 ; pub const ELEMENT_HAS_PENDING_RESTYLE : root :: _bindgen_ty_74 = 8388608 ; pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT : root :: _bindgen_ty_74 = 16777216 ; pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE : root :: _bindgen_ty_74 = 33554432 ; pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT : root :: _bindgen_ty_74 = 67108864 ; pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR : root :: _bindgen_ty_74 = 134217728 ; pub const ELEMENT_HAS_CHILD_WITH_LATER_SIBLINGS_HINT : root :: _bindgen_ty_74 = 268435456 ; pub const ELEMENT_PENDING_RESTYLE_FLAGS : root :: _bindgen_ty_74 = 41943040 ; pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS : root :: _bindgen_ty_74 = 83886080 ; pub const ELEMENT_ALL_RESTYLE_FLAGS : root :: _bindgen_ty_74 = 260046848 ; pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET : root :: _bindgen_ty_74 = 27 ; pub type _bindgen_ty_74 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ServoBundledURI { pub mURLString : * const u8 , pub mURLStringLength : u32 , pub mExtraData : * mut root :: mozilla :: URLExtraData , } # [ test ] fn bindgen_test_layout_ServoBundledURI ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoBundledURI > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoBundledURI > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLStringLength as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLStringLength ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mExtraData as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mExtraData ) ) ) ; } impl Clone for ServoBundledURI { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FontSizePrefs { pub mDefaultVariableSize : root :: nscoord , pub mDefaultFixedSize : root :: nscoord , pub mDefaultSerifSize : root :: nscoord , pub mDefaultSansSerifSize : root :: nscoord , pub mDefaultMonospaceSize : root :: nscoord , pub mDefaultCursiveSize : root :: nscoord , pub mDefaultFantasySize : root :: nscoord , } # [ test ] fn bindgen_test_layout_FontSizePrefs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontSizePrefs > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontSizePrefs > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultVariableSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultVariableSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFixedSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFixedSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSerifSize as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSansSerifSize as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSansSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultMonospaceSize as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultMonospaceSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultCursiveSize as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultCursiveSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFantasySize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFantasySize ) ) ) ; } impl Clone for FontSizePrefs { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct GeckoFontMetrics { pub mChSize : root :: nscoord , pub mXSize : root :: nscoord , } # [ test ] fn bindgen_test_layout_GeckoFontMetrics ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoFontMetrics > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoFontMetrics > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mChSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mChSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mXSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mXSize ) ) ) ; } impl Clone for GeckoFontMetrics { fn clone ( & self ) -> Self { * self } } pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_after : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_before : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_backdrop : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_cue : u32 = 36 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLetter : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLine : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozSelection : u32 = 2 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusInner : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusOuter : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListBullet : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListNumber : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMathAnonymous : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberWrapper : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberText : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinBox : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinUp : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinDown : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozProgressBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeTrack : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeProgress : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeThumb : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMeterBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozPlaceholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_placeholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozColorSwatch : u32 = 12 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMMediaList { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMMediaList_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMMediaList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMMediaList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMMediaList ) ) ) ; } impl Clone for nsIDOMMediaList { fn clone ( & self ) -> Self { * self } } pub type nsCSSAnonBoxes_NonInheritingBase = u8 ; pub const nsCSSAnonBoxes_NonInheriting_oofPlaceholder : root :: nsCSSAnonBoxes_NonInheriting = 0 ; pub const nsCSSAnonBoxes_NonInheriting_horizontalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 1 ; pub const nsCSSAnonBoxes_NonInheriting_verticalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 2 ; pub const nsCSSAnonBoxes_NonInheriting_framesetBlank : root :: nsCSSAnonBoxes_NonInheriting = 3 ; pub const nsCSSAnonBoxes_NonInheriting_tableColGroup : root :: nsCSSAnonBoxes_NonInheriting = 4 ; pub const nsCSSAnonBoxes_NonInheriting_tableCol : root :: nsCSSAnonBoxes_NonInheriting = 5 ; pub const nsCSSAnonBoxes_NonInheriting_pageBreak : root :: nsCSSAnonBoxes_NonInheriting = 6 ; pub const nsCSSAnonBoxes_NonInheriting__Count : root :: nsCSSAnonBoxes_NonInheriting = 7 ; pub type nsCSSAnonBoxes_NonInheriting = root :: nsCSSAnonBoxes_NonInheritingBase ; + # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsISMILAttr { pub vtable_ : * const nsISMILAttr__bindgen_vtable , } # [ test ] fn bindgen_test_layout_nsISMILAttr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsISMILAttr > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsISMILAttr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsISMILAttr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsISMILAttr ) ) ) ; } pub const ELEMENT_SHARED_RESTYLE_BIT_1 : root :: _bindgen_ty_20 = 8388608 ; pub const ELEMENT_SHARED_RESTYLE_BIT_2 : root :: _bindgen_ty_20 = 16777216 ; pub const ELEMENT_SHARED_RESTYLE_BIT_3 : root :: _bindgen_ty_20 = 33554432 ; pub const ELEMENT_SHARED_RESTYLE_BIT_4 : root :: _bindgen_ty_20 = 67108864 ; pub const ELEMENT_SHARED_RESTYLE_BITS : root :: _bindgen_ty_20 = 125829120 ; pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_20 = 8388608 ; pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_20 = 16777216 ; pub const ELEMENT_HAS_SNAPSHOT : root :: _bindgen_ty_20 = 33554432 ; pub const ELEMENT_HANDLED_SNAPSHOT : root :: _bindgen_ty_20 = 67108864 ; pub const ELEMENT_HAS_PENDING_RESTYLE : root :: _bindgen_ty_20 = 8388608 ; pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT : root :: _bindgen_ty_20 = 16777216 ; pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE : root :: _bindgen_ty_20 = 33554432 ; pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT : root :: _bindgen_ty_20 = 67108864 ; pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR : root :: _bindgen_ty_20 = 134217728 ; pub const ELEMENT_HAS_CHILD_WITH_LATER_SIBLINGS_HINT : root :: _bindgen_ty_20 = 268435456 ; pub const ELEMENT_PENDING_RESTYLE_FLAGS : root :: _bindgen_ty_20 = 41943040 ; pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS : root :: _bindgen_ty_20 = 83886080 ; pub const ELEMENT_ALL_RESTYLE_FLAGS : root :: _bindgen_ty_20 = 260046848 ; pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET : root :: _bindgen_ty_20 = 27 ; pub type _bindgen_ty_20 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ServoBundledURI { pub mURLString : * const u8 , pub mURLStringLength : u32 , pub mExtraData : * mut root :: mozilla :: URLExtraData , } # [ test ] fn bindgen_test_layout_ServoBundledURI ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoBundledURI > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoBundledURI > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLStringLength as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLStringLength ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mExtraData as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mExtraData ) ) ) ; } impl Clone for ServoBundledURI { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FontSizePrefs { pub mDefaultVariableSize : root :: nscoord , pub mDefaultFixedSize : root :: nscoord , pub mDefaultSerifSize : root :: nscoord , pub mDefaultSansSerifSize : root :: nscoord , pub mDefaultMonospaceSize : root :: nscoord , pub mDefaultCursiveSize : root :: nscoord , pub mDefaultFantasySize : root :: nscoord , } # [ test ] fn bindgen_test_layout_FontSizePrefs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontSizePrefs > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontSizePrefs > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultVariableSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultVariableSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFixedSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFixedSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSerifSize as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSansSerifSize as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSansSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultMonospaceSize as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultMonospaceSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultCursiveSize as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultCursiveSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFantasySize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFantasySize ) ) ) ; } impl Clone for FontSizePrefs { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct GeckoFontMetrics { pub mChSize : root :: nscoord , pub mXSize : root :: nscoord , } # [ test ] fn bindgen_test_layout_GeckoFontMetrics ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoFontMetrics > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoFontMetrics > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mChSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mChSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mXSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mXSize ) ) ) ; } impl Clone for GeckoFontMetrics { fn clone ( & self ) -> Self { * self } } pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_after : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_before : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_backdrop : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_cue : u32 = 36 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLetter : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLine : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozSelection : u32 = 2 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusInner : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusOuter : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListBullet : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListNumber : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMathAnonymous : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberWrapper : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberText : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinBox : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinUp : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinDown : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozProgressBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeTrack : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeProgress : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeThumb : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMeterBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozPlaceholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_placeholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozColorSwatch : u32 = 12 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMMediaList { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMMediaList_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMMediaList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMMediaList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMMediaList ) ) ) ; } impl Clone for nsIDOMMediaList { fn clone ( & self ) -> Self { * self } } pub type nsCSSAnonBoxes_NonInheritingBase = u8 ; pub const nsCSSAnonBoxes_NonInheriting_oofPlaceholder : root :: nsCSSAnonBoxes_NonInheriting = 0 ; pub const nsCSSAnonBoxes_NonInheriting_horizontalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 1 ; pub const nsCSSAnonBoxes_NonInheriting_verticalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 2 ; pub const nsCSSAnonBoxes_NonInheriting_framesetBlank : root :: nsCSSAnonBoxes_NonInheriting = 3 ; pub const nsCSSAnonBoxes_NonInheriting_tableColGroup : root :: nsCSSAnonBoxes_NonInheriting = 4 ; pub const nsCSSAnonBoxes_NonInheriting_tableCol : root :: nsCSSAnonBoxes_NonInheriting = 5 ; pub const nsCSSAnonBoxes_NonInheriting_pageBreak : root :: nsCSSAnonBoxes_NonInheriting = 6 ; pub const nsCSSAnonBoxes_NonInheriting__Count : root :: nsCSSAnonBoxes_NonInheriting = 7 ; pub type nsCSSAnonBoxes_NonInheriting = root :: nsCSSAnonBoxes_NonInheritingBase ; /// templated hashtable class maps keys to interface pointers. /// See nsBaseHashtable for complete declaration. /// @param KeyClass a wrapper-class for the hashtable key, see nsHashKeys.h @@ -1625,7 +1628,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// @param Interface the interface-type being wrapped /// @see nsDataHashtable, nsClassHashtable # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsInterfaceHashtable { pub _address : u8 , } pub type nsInterfaceHashtable_KeyType = [ u8 ; 0usize ] ; pub type nsInterfaceHashtable_UserDataType < Interface > = * mut Interface ; pub type nsInterfaceHashtable_base_type = u8 ; pub type nsBindingList = root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ; # [ repr ( C ) ] pub struct nsBindingManager { pub _base : root :: nsStubMutationObserver , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mBoundContentSet : u64 , pub mWrapperTable : root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > , pub mDocumentTable : u64 , pub mLoadingDocTable : u64 , pub mAttachedStack : root :: nsBindingList , pub mProcessingAttachedStack : bool , pub mDestroyed : bool , pub mAttachedStackSizeOnOutermost : u32 , pub mProcessAttachedQueueEvent : u64 , pub mDocument : * mut root :: nsIDocument , } pub type nsBindingManager_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; pub const nsBindingManager_DestructorHandling_eRunDtor : root :: nsBindingManager_DestructorHandling = 0 ; pub const nsBindingManager_DestructorHandling_eDoNotRunDtor : root :: nsBindingManager_DestructorHandling = 1 ; pub type nsBindingManager_DestructorHandling = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsBindingManager_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_nsBindingManager_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsBindingManager_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsBindingManager_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsBindingManager_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsBindingManager_cycleCollection ) ) ) ; } impl Clone for nsBindingManager_cycleCollection { fn clone ( & self ) -> Self { * self } } pub type nsBindingManager_BoundContentBindingCallback = root :: std :: function ; pub type nsBindingManager_WrapperHashtable = u8 ; extern "C" { - # [ link_name = "\u{1}_ZN16nsBindingManager21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN16nsBindingManager21_cycleCollectorGlobalE" ] pub static mut nsBindingManager__cycleCollectorGlobal : root :: nsBindingManager_cycleCollection ; } # [ test ] fn bindgen_test_layout_nsBindingManager ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsBindingManager > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( nsBindingManager ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsBindingManager > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsBindingManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mRefCnt as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mBoundContentSet as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mBoundContentSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mWrapperTable as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mWrapperTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mDocumentTable as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mDocumentTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mLoadingDocTable as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mLoadingDocTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mAttachedStack as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mAttachedStack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mProcessingAttachedStack as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mProcessingAttachedStack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mDestroyed as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mDestroyed ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mAttachedStackSizeOnOutermost as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mAttachedStackSizeOnOutermost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mProcessAttachedQueueEvent as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mProcessAttachedQueueEvent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mDocument as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mDocument ) ) ) ; } /// An nsStyleContext represents the computed style data for an element. @@ -1646,12 +1649,12 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// 2. any *child* style contexts (this might be the reverse of /// expectation, but it makes sense in this case) # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleContext { pub mPseudoTag : root :: RefPtr < root :: nsAtom > , pub mBits : u64 , } # [ test ] fn bindgen_test_layout_nsStyleContext ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContext > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleContext ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContext > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContext ) ) . mPseudoTag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContext ) , "::" , stringify ! ( mPseudoTag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContext ) ) . mBits as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContext ) , "::" , stringify ! ( mBits ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMCSSRule { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMCSSRule_COMTypeInfo { pub _address : u8 , } pub const nsIDOMCSSRule_UNKNOWN_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 0 ; pub const nsIDOMCSSRule_STYLE_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 1 ; pub const nsIDOMCSSRule_CHARSET_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 2 ; pub const nsIDOMCSSRule_IMPORT_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 3 ; pub const nsIDOMCSSRule_MEDIA_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 4 ; pub const nsIDOMCSSRule_FONT_FACE_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 5 ; pub const nsIDOMCSSRule_PAGE_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 6 ; pub const nsIDOMCSSRule_KEYFRAMES_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 7 ; pub const nsIDOMCSSRule_KEYFRAME_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 8 ; pub const nsIDOMCSSRule_MOZ_KEYFRAMES_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 7 ; pub const nsIDOMCSSRule_MOZ_KEYFRAME_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 8 ; pub const nsIDOMCSSRule_NAMESPACE_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 10 ; pub const nsIDOMCSSRule_COUNTER_STYLE_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 11 ; pub const nsIDOMCSSRule_SUPPORTS_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 12 ; pub const nsIDOMCSSRule_DOCUMENT_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 13 ; pub const nsIDOMCSSRule_FONT_FEATURE_VALUES_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 14 ; pub type nsIDOMCSSRule__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsIDOMCSSRule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMCSSRule > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMCSSRule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMCSSRule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMCSSRule ) ) ) ; } impl Clone for nsIDOMCSSRule { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMCSSCounterStyleRule { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMCSSCounterStyleRule_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMCSSCounterStyleRule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMCSSCounterStyleRule > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMCSSCounterStyleRule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMCSSCounterStyleRule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMCSSCounterStyleRule ) ) ) ; } impl Clone for nsIDOMCSSCounterStyleRule { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSCounterStyleRule { pub _base : root :: mozilla :: css :: Rule , pub _base_1 : root :: nsIDOMCSSCounterStyleRule , pub mName : root :: RefPtr < root :: nsAtom > , pub mValues : [ root :: nsCSSValue ; 10usize ] , pub mGeneration : u32 , } pub type nsCSSCounterStyleRule_Getter = :: std :: option :: Option < unsafe extern "C" fn ( ) -> root :: nsresult > ; extern "C" { - # [ link_name = "\u{1}_ZN21nsCSSCounterStyleRule8kGettersE" ] + # [ link_name = "\u{1}__ZN21nsCSSCounterStyleRule8kGettersE" ] pub static mut nsCSSCounterStyleRule_kGetters : [ root :: nsCSSCounterStyleRule_Getter ; 0usize ] ; } # [ test ] fn bindgen_test_layout_nsCSSCounterStyleRule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSCounterStyleRule > ( ) , 248usize , concat ! ( "Size of: " , stringify ! ( nsCSSCounterStyleRule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSCounterStyleRule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSCounterStyleRule ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMCSSStyleDeclaration { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMCSSStyleDeclaration_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMCSSStyleDeclaration ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMCSSStyleDeclaration > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMCSSStyleDeclaration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMCSSStyleDeclaration > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMCSSStyleDeclaration ) ) ) ; } impl Clone for nsIDOMCSSStyleDeclaration { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsICSSDeclaration { pub _base : root :: nsIDOMCSSStyleDeclaration , pub _base_1 : root :: nsWrapperCache , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsICSSDeclaration_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsICSSDeclaration ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsICSSDeclaration > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsICSSDeclaration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsICSSDeclaration > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsICSSDeclaration ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMCSSFontFaceRule { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMCSSFontFaceRule_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMCSSFontFaceRule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMCSSFontFaceRule > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMCSSFontFaceRule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMCSSFontFaceRule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMCSSFontFaceRule ) ) ) ; } impl Clone for nsIDOMCSSFontFaceRule { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSFontFaceStyleDecl { pub _base : root :: nsICSSDeclaration , pub mDescriptors : root :: mozilla :: CSSFontFaceDescriptors , } # [ test ] fn bindgen_test_layout_nsCSSFontFaceStyleDecl ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSFontFaceStyleDecl > ( ) , 176usize , concat ! ( "Size of: " , stringify ! ( nsCSSFontFaceStyleDecl ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSFontFaceStyleDecl > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSFontFaceStyleDecl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSFontFaceStyleDecl ) ) . mDescriptors as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSFontFaceStyleDecl ) , "::" , stringify ! ( mDescriptors ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSFontFaceRule { pub _base : root :: mozilla :: css :: Rule , pub _base_1 : root :: nsIDOMCSSFontFaceRule , pub mDecl : root :: nsCSSFontFaceStyleDecl , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsCSSFontFaceRule_cycleCollection { pub _base : root :: mozilla :: css :: Rule_cycleCollection , } # [ test ] fn bindgen_test_layout_nsCSSFontFaceRule_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSFontFaceRule_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsCSSFontFaceRule_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSFontFaceRule_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSFontFaceRule_cycleCollection ) ) ) ; } impl Clone for nsCSSFontFaceRule_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}_ZN17nsCSSFontFaceRule21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}__ZN17nsCSSFontFaceRule21_cycleCollectorGlobalE" ] pub static mut nsCSSFontFaceRule__cycleCollectorGlobal : root :: nsCSSFontFaceRule_cycleCollection ; } # [ test ] fn bindgen_test_layout_nsCSSFontFaceRule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSFontFaceRule > ( ) , 248usize , concat ! ( "Size of: " , stringify ! ( nsCSSFontFaceRule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSFontFaceRule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSFontFaceRule ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsFontFaceRuleContainer { pub mRule : root :: RefPtr < root :: nsCSSFontFaceRule > , pub mSheetType : root :: mozilla :: SheetType , } # [ test ] fn bindgen_test_layout_nsFontFaceRuleContainer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsFontFaceRuleContainer > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsFontFaceRuleContainer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsFontFaceRuleContainer > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsFontFaceRuleContainer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFontFaceRuleContainer ) ) . mRule as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsFontFaceRuleContainer ) , "::" , stringify ! ( mRule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFontFaceRuleContainer ) ) . mSheetType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsFontFaceRuleContainer ) , "::" , stringify ! ( mSheetType ) ) ) ; } pub type nsMediaFeatureValueGetter = :: std :: option :: Option < unsafe extern "C" fn ( aPresContext : * mut root :: nsPresContext , aFeature : * const root :: nsMediaFeature , aResult : * mut root :: nsCSSValue ) > ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeature { pub mName : * mut * mut root :: nsStaticAtom , pub mRangeType : root :: nsMediaFeature_RangeType , pub mValueType : root :: nsMediaFeature_ValueType , pub mReqFlags : u8 , pub mData : root :: nsMediaFeature__bindgen_ty_1 , pub mGetter : root :: nsMediaFeatureValueGetter , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsMediaFeature_RangeType { eMinMaxAllowed = 0 , eMinMaxNotAllowed = 1 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsMediaFeature_ValueType { eLength = 0 , eInteger = 1 , eFloat = 2 , eBoolInteger = 3 , eIntRatio = 4 , eResolution = 5 , eEnumerated = 6 , eIdent = 7 , } pub const nsMediaFeature_RequirementFlags_eNoRequirements : root :: nsMediaFeature_RequirementFlags = 0 ; pub const nsMediaFeature_RequirementFlags_eHasWebkitPrefix : root :: nsMediaFeature_RequirementFlags = 1 ; pub const nsMediaFeature_RequirementFlags_eWebkitDevicePixelRatioPrefEnabled : root :: nsMediaFeature_RequirementFlags = 2 ; pub const nsMediaFeature_RequirementFlags_eUserAgentAndChromeOnly : root :: nsMediaFeature_RequirementFlags = 4 ; pub type nsMediaFeature_RequirementFlags = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeature__bindgen_ty_1 { pub mInitializer_ : root :: __BindgenUnionField < * const :: std :: os :: raw :: c_void > , pub mKeywordTable : root :: __BindgenUnionField < * const root :: nsCSSProps_KTableEntry > , pub mMetric : root :: __BindgenUnionField < * const * const root :: nsAtom > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsMediaFeature__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeature__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeature__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mInitializer_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mInitializer_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mKeywordTable as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mKeywordTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mMetric as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mMetric ) ) ) ; } impl Clone for nsMediaFeature__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsMediaFeature ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeature > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeature ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeature > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeature ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mRangeType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mRangeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mValueType as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mValueType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mReqFlags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mReqFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mData as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mGetter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mGetter ) ) ) ; } impl Clone for nsMediaFeature { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeatures { pub _address : u8 , } extern "C" { - # [ link_name = "\u{1}_ZN15nsMediaFeatures8featuresE" ] + # [ link_name = "\u{1}__ZN15nsMediaFeatures8featuresE" ] pub static mut nsMediaFeatures_features : [ root :: nsMediaFeature ; 0usize ] ; -} # [ test ] fn bindgen_test_layout_nsMediaFeatures ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeatures ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeatures ) ) ) ; } impl Clone for nsMediaFeatures { fn clone ( & self ) -> Self { * self } } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < u16 > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < u16 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ::nsstring::nsStringRepr > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ::nsstring::nsStringRepr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation ( ) { 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_open0_CSSVariableValues_Variable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_FontFamilyName_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_RefPtr_open1_SharedFontList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_SharedFontList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeatureValueSet_ValueList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxAlternateValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeature_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation ( ) { 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_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation ( ) { 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_open0_JSErrorNotes_close0_instantiation ( ) { 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_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long_ptr_UniquePtr_ref_UniquePtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_2 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_2 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_3 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_3 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_4 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_4 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_5 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_5 ( ) { 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_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_close0_instantiation_1 ( ) { 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_RefPtr_open0_StyleSheet_close0_instantiation ( ) { 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_open0_MediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_1 ( ) { 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_nsTArray_open0_StyleSetHandle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProfilerBacktrace_ProfilerBacktraceDestructor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsNodeInfoManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation ( ) { 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_open0_nsIPrincipal_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAttrChildContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation ( ) { 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_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation_1 ( ) { 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_RefPtr_open0_NodeInfo_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation ( ) { 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_open0_ptr_void_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_void_close0_instantiation ( ) { 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_StaticRefPtr_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsPresContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsFrameSelection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation ( ) { 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_open0_WeakFrame_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation ( ) { 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_nsCOMPtr_open0_EventTarget_close0_instantiation ( ) { 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_open0_nsIDocument_close0_instantiation_1 ( ) { 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_open0_nsIURI_close0_instantiation ( ) { 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_open0_nsIURI_close0_instantiation_1 ( ) { 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_open0_EventTarget_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Performance_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_TimeoutManager_DefaultDelete_open1_TimeoutManager_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_TimeoutManager_close0_instantiation ( ) { 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_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation ( ) { 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_open0_nsIContent_close0_instantiation ( ) { 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_open0_ptr_AudioContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowInner_close0_instantiation ( ) { 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_open0_EventTarget_close0_instantiation_2 ( ) { 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_open0_nsIDocument_close0_instantiation_2 ( ) { 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_open0_nsIURI_close0_instantiation_2 ( ) { 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_open0_nsIURI_close0_instantiation_3 ( ) { 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_open0_EventTarget_close0_instantiation_3 ( ) { 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_open0_Element_close0_instantiation ( ) { 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_open0_nsIDocShell_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation_1 ( ) { 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_open0_nsIURI_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , 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_nsCOMPtr_open0_nsIDocument_close0_instantiation_3 ( ) { 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_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation ( ) { 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_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation ( ) { 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_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation_1 ( ) { 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_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIObserver_close0_instantiation ( ) { 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_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation ( ) { 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_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_5 ( ) { 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_open0_nsIURI_close0_instantiation_6 ( ) { 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_open0_nsIURI_close0_instantiation_7 ( ) { 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_open0_nsIURI_close0_instantiation_8 ( ) { 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_open0_nsIURI_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_ptr_const_Encoding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Loader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageLoader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLCSSStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsPtrHashKey_open2_nsISupports_close2_close1_close0_instantiation ( ) { 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_nsCOMPtr_open0_Link_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsSMILAnimationController_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsAutoPtr_open1_nsPropertyTable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIHTMLCollection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_FontFaceSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIScriptGlobalObject_close0_instantiation ( ) { 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_open0_nsIDocument_close0_instantiation_4 ( ) { 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_open0_nsIChannel_close0_instantiation ( ) { 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_open0_nsISupports_close0_instantiation_1 ( ) { 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_open0_nsIChannel_close0_instantiation_1 ( ) { 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_nsCOMArray_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_5 ( ) { 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_open0_nsWeakPtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocumentEncoder_close0_instantiation ( ) { 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_open0_nsIDocument_FrameRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIStructuredCloneContainer_close0_instantiation ( ) { 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_open0_nsIVariant_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XPathEvaluator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_AnonymousContent_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_LinkedList_open0_MediaQueryList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: LinkedList > ( ) , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: LinkedList > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIRunnable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation ( ) { 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_open0_nsCOMPtr_open1_nsIPrincipal_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_2 ( ) { 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_open0_uint64_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_LangGroupFontPrefs_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDeviceContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EventStateManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsRefreshDriver_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EffectCompositor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsTransitionManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnimationManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RestyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CounterStyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITheme_close0_instantiation ( ) { 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_open0_nsIPrintSettings_close0_instantiation ( ) { 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_open0_nsITimer_close0_instantiation_1 ( ) { 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_UniquePtr_open0_nsBidi_DefaultDelete_open1_nsBidi_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBidi_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsRect_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxTextPerfMetrics_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxMissingFontRecorder_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_URLParams_Param_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_URLParams_DefaultDelete_open1_URLParams_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_URLParams_close0_instantiation ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_10 ( ) { 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_open0_nsIURI_close0_instantiation_11 ( ) { 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_open0_nsIPrincipal_close0_instantiation_3 ( ) { 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_UniquePtr_open0_const_char_FreePolicy_open1_const_char_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_FreePolicy_open0_const_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation ( ) { 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_nsMainThreadPtrHandle_open0_nsIURI_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_GridNamedArea_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation ( ) { 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_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation ( ) { 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_open0_nsCSSValueList_close0_instantiation ( ) { 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_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation ( ) { 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_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCSSValueGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_12 ( ) { 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_open0_nsIURI_close0_instantiation_13 ( ) { 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_open0_nsIPrincipal_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProxyBehaviour_DefaultDelete_open1_ProxyBehaviour_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_ProxyBehaviour_close0_instantiation ( ) { 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_RefPtr_open0_imgRequestProxy_ImageURL_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsILoadGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation_1 ( ) { 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_open0_nsString_close0_instantiation_1 ( ) { 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_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_CounterStyle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMArray_open0_imgIContainer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation ( ) { 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_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_1 ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation_1 ( ) { 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_open0_CachedBorderImageData_DefaultDelete_open1_CachedBorderImageData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_CachedBorderImageData_close0_instantiation ( ) { 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_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_2 ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation_2 ( ) { 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_nsStyleAutoArray_open0_nsStyleImageLayers_Layer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 104usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nscolor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsBorderColors_DefaultDelete_open1_nsBorderColors_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBorderColors_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_pair_open1_nsString_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_pair_open0_nsString_nsString_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleQuoteValues_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsTArray_open1_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_2 ( ) { 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_open0_nsStyleCoord_close0_instantiation ( ) { 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_open0_nsStyleCoord_close0_instantiation_1 ( ) { 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_open0_nsString_close0_instantiation_3 ( ) { 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_open0_nsString_close0_instantiation_4 ( ) { 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_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation ( ) { 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_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_1 ( ) { 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_RefPtr_open0_GridTemplateAreasValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_7 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_2 ( ) { 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_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation ( ) { 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_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_1 ( ) { 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_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_2 ( ) { 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_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation ( ) { 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_RefPtr_open0_URLValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_8 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_Position_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleTransition_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , 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_nsTArray_open0_nsStyleContentData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCursorImage_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_3 ( ) { 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_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleFilter_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsISupports_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation_1 ( ) { 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_open0_nsCSSValueList_close0_instantiation_1 ( ) { 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_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation_1 ( ) { 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_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation_1 ( ) { 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_RefPtr_open0_RawServoAnimationValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_14 ( ) { 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_open0_nsIURI_close0_instantiation_15 ( ) { 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_open0_nsIURI_close0_instantiation_16 ( ) { 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_open0_nsIPrincipal_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_2 ( ) { 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_open0_RawServoStyleSheetContents_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoCSSRuleList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_6 ( ) { 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_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_3 ( ) { 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_nsTArray_open0_RefPtr_open1_SheetLoadData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_4 ( ) { 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_nsAutoPtr_open0_Loader_Sheets_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIConsoleReportCollector_close0_instantiation ( ) { 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_BaseTimeDuration_open0_StickyTimeDurationValueCalculator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ServoAttrSnapshot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_XBLChildrenElement_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnonymousContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSDeclaration_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIControllers_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsLabelsNodeList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation ( ) { 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_RefPtr_open0_HTMLSlotElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CustomElementData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_2 ( ) { 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_open0_nsICSSDeclaration_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMTokenList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_FragmentOrElement_nsExtendedDOMSlots_DefaultDelete_open1_FragmentOrElement_nsExtendedDOMSlots_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_FragmentOrElement_nsExtendedDOMSlots_close0_instantiation ( ) { 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_RefPtr_open0_nsDOMAttributeMap_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsDOMAttributeMap_Element_close0_instantiation ( ) { 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_open0_nsISupports_close0_instantiation_3 ( ) { 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_UniquePtr_open0_nsISMILAttr_DefaultDelete_open1_nsISMILAttr_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsISMILAttr_close0_instantiation ( ) { 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_nsRefPtrHashKey_open0_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation_1 ( ) { 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_RefPtr_open0_Element_close0_instantiation ( ) { 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_OwningNonNull_open0_EffectCompositor_AnimationStyleRuleProcessor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_2 ( ) { 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_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_3 ( ) { 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_RefPtr_open0_RawServoMediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_RawServoStyleSet_DefaultDelete_open1_RawServoStyleSet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_ServoStyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PostTraversalTask_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleRuleMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsXBLBinding_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsRefPtrHashKey_open2_nsIContent_close2_close1_close0_instantiation ( ) { 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_nsRefPtrHashKey_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsBindingManager_WrapperHashtable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsRefPtrHashtable_open1_nsURIHashKey_nsXBLDocumentInfo_close1_close0_instantiation ( ) { 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_nsAutoPtr_open0_nsInterfaceHashtable_open1_nsURIHashKey_nsIStreamListener_close1_close0_instantiation ( ) { 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_RefPtr_open0_nsRunnableMethod_open1_nsBindingManager_void_close1_close0_instantiation ( ) { 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_RefPtr_open0_nsAtom_close0_instantiation_10 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_11 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSFontFaceRule_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; } } \ No newline at end of file +} # [ test ] fn bindgen_test_layout_nsMediaFeatures ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeatures ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeatures ) ) ) ; } impl Clone for nsMediaFeatures { fn clone ( & self ) -> Self { * self } } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < u16 > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < u16 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ::nsstring::nsStringRepr > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ::nsstring::nsStringRepr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation ( ) { 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_open0_CSSVariableValues_Variable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_FontFamilyName_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_RefPtr_open1_SharedFontList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_SharedFontList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeatureValueSet_ValueList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxAlternateValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeature_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation ( ) { 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_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation ( ) { 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_open0_JSErrorNotes_close0_instantiation ( ) { 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_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long_ptr_UniquePtr_ref_UniquePtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_2 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_2 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_3 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_3 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_4 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_4 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_5 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_5 ( ) { 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_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_close0_instantiation_1 ( ) { 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_RefPtr_open0_StyleSheet_close0_instantiation ( ) { 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_open0_MediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_1 ( ) { 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_nsTArray_open0_StyleSetHandle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProfilerBacktrace_ProfilerBacktraceDestructor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsNodeInfoManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation ( ) { 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_open0_nsIPrincipal_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAttrChildContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation ( ) { 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_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation_1 ( ) { 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_RefPtr_open0_NodeInfo_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation ( ) { 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_open0_ptr_void_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_void_close0_instantiation ( ) { 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_StaticRefPtr_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsPresContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsFrameSelection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation ( ) { 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_open0_WeakFrame_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation ( ) { 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_nsCOMPtr_open0_EventTarget_close0_instantiation ( ) { 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_open0_nsIDocument_close0_instantiation_1 ( ) { 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_open0_nsIURI_close0_instantiation ( ) { 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_open0_nsIURI_close0_instantiation_1 ( ) { 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_open0_EventTarget_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Performance_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_TimeoutManager_DefaultDelete_open1_TimeoutManager_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_TimeoutManager_close0_instantiation ( ) { 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_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation ( ) { 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_open0_nsIContent_close0_instantiation ( ) { 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_open0_ptr_AudioContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowInner_close0_instantiation ( ) { 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_open0_EventTarget_close0_instantiation_2 ( ) { 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_open0_nsIDocument_close0_instantiation_2 ( ) { 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_open0_nsIURI_close0_instantiation_2 ( ) { 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_open0_nsIURI_close0_instantiation_3 ( ) { 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_open0_EventTarget_close0_instantiation_3 ( ) { 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_open0_Element_close0_instantiation ( ) { 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_open0_nsIDocShell_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation_1 ( ) { 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_open0_nsIURI_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , 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_nsCOMPtr_open0_nsIDocument_close0_instantiation_3 ( ) { 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_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation ( ) { 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_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation ( ) { 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_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation_1 ( ) { 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_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIObserver_close0_instantiation ( ) { 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_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation ( ) { 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_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_5 ( ) { 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_open0_nsIURI_close0_instantiation_6 ( ) { 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_open0_nsIURI_close0_instantiation_7 ( ) { 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_open0_nsIURI_close0_instantiation_8 ( ) { 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_open0_nsIURI_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_ptr_const_Encoding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Loader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageLoader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLCSSStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsPtrHashKey_open2_nsISupports_close2_close1_close0_instantiation ( ) { 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_nsCOMPtr_open0_Link_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsSMILAnimationController_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsAutoPtr_open1_nsPropertyTable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIHTMLCollection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_FontFaceSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIScriptGlobalObject_close0_instantiation ( ) { 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_open0_nsIDocument_close0_instantiation_4 ( ) { 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_open0_nsIChannel_close0_instantiation ( ) { 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_open0_nsISupports_close0_instantiation_1 ( ) { 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_open0_nsIChannel_close0_instantiation_1 ( ) { 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_nsCOMArray_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_5 ( ) { 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_open0_nsWeakPtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocumentEncoder_close0_instantiation ( ) { 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_open0_nsIDocument_FrameRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIStructuredCloneContainer_close0_instantiation ( ) { 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_open0_nsIVariant_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XPathEvaluator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_AnonymousContent_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_LinkedList_open0_MediaQueryList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: LinkedList > ( ) , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: LinkedList > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIRunnable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation ( ) { 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_open0_nsCOMPtr_open1_nsIPrincipal_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_2 ( ) { 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_open0_uint64_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_LangGroupFontPrefs_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDeviceContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EventStateManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsRefreshDriver_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EffectCompositor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsTransitionManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnimationManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RestyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CounterStyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITheme_close0_instantiation ( ) { 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_open0_nsIPrintSettings_close0_instantiation ( ) { 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_open0_nsITimer_close0_instantiation_1 ( ) { 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_UniquePtr_open0_nsBidi_DefaultDelete_open1_nsBidi_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBidi_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsRect_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxTextPerfMetrics_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxMissingFontRecorder_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_URLParams_Param_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_URLParams_DefaultDelete_open1_URLParams_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_URLParams_close0_instantiation ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_10 ( ) { 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_open0_nsIURI_close0_instantiation_11 ( ) { 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_open0_nsIPrincipal_close0_instantiation_3 ( ) { 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_UniquePtr_open0_const_char_FreePolicy_open1_const_char_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_FreePolicy_open0_const_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation ( ) { 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_nsMainThreadPtrHandle_open0_nsIURI_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_GridNamedArea_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation ( ) { 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_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation ( ) { 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_open0_nsCSSValueList_close0_instantiation ( ) { 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_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation ( ) { 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_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCSSValueGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_12 ( ) { 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_open0_nsIURI_close0_instantiation_13 ( ) { 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_open0_nsIPrincipal_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProxyBehaviour_DefaultDelete_open1_ProxyBehaviour_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_ProxyBehaviour_close0_instantiation ( ) { 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_RefPtr_open0_imgRequestProxy_ImageURL_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsILoadGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation_1 ( ) { 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_open0_nsString_close0_instantiation_1 ( ) { 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_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_CounterStyle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMArray_open0_imgIContainer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation ( ) { 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_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_1 ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation_1 ( ) { 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_open0_CachedBorderImageData_DefaultDelete_open1_CachedBorderImageData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_CachedBorderImageData_close0_instantiation ( ) { 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_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_2 ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation_2 ( ) { 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_nsStyleAutoArray_open0_nsStyleImageLayers_Layer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 104usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nscolor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsBorderColors_DefaultDelete_open1_nsBorderColors_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBorderColors_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_pair_open1_nsString_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_pair_open0_nsString_nsString_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleQuoteValues_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsTArray_open1_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_2 ( ) { 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_open0_nsStyleCoord_close0_instantiation ( ) { 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_open0_nsStyleCoord_close0_instantiation_1 ( ) { 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_open0_nsString_close0_instantiation_3 ( ) { 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_open0_nsString_close0_instantiation_4 ( ) { 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_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation ( ) { 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_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_1 ( ) { 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_RefPtr_open0_GridTemplateAreasValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_7 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_2 ( ) { 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_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation ( ) { 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_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_1 ( ) { 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_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation ( ) { 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_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_1 ( ) { 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_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_2 ( ) { 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_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_2 ( ) { 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_RefPtr_open0_URLValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_8 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_Position_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleTransition_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , 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_nsTArray_open0_nsStyleContentData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCursorImage_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_3 ( ) { 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_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleFilter_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsISupports_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation_1 ( ) { 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_open0_nsCSSValueList_close0_instantiation_1 ( ) { 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_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation_1 ( ) { 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_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation_1 ( ) { 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_RefPtr_open0_RawServoAnimationValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_14 ( ) { 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_open0_nsIURI_close0_instantiation_15 ( ) { 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_open0_nsIURI_close0_instantiation_16 ( ) { 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_open0_nsIPrincipal_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_2 ( ) { 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_open0_RawServoStyleSheetContents_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoCSSRuleList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_6 ( ) { 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_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_3 ( ) { 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_nsTArray_open0_RefPtr_open1_SheetLoadData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_4 ( ) { 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_nsAutoPtr_open0_Loader_Sheets_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIConsoleReportCollector_close0_instantiation ( ) { 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_BaseTimeDuration_open0_StickyTimeDurationValueCalculator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ServoAttrSnapshot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_XBLChildrenElement_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnonymousContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSDeclaration_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIControllers_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsLabelsNodeList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation ( ) { 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_RefPtr_open0_HTMLSlotElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CustomElementData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_2 ( ) { 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_open0_nsICSSDeclaration_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMTokenList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_FragmentOrElement_nsExtendedDOMSlots_DefaultDelete_open1_FragmentOrElement_nsExtendedDOMSlots_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_FragmentOrElement_nsExtendedDOMSlots_close0_instantiation ( ) { 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_RefPtr_open0_nsDOMAttributeMap_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsDOMAttributeMap_Element_close0_instantiation ( ) { 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_open0_nsISupports_close0_instantiation_3 ( ) { 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_UniquePtr_open0_nsISMILAttr_DefaultDelete_open1_nsISMILAttr_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsISMILAttr_close0_instantiation ( ) { 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_nsRefPtrHashKey_open0_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation_1 ( ) { 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_RefPtr_open0_Element_close0_instantiation ( ) { 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_OwningNonNull_open0_EffectCompositor_AnimationStyleRuleProcessor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_2 ( ) { 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_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_3 ( ) { 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_RefPtr_open0_RawServoMediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_RawServoStyleSet_DefaultDelete_open1_RawServoStyleSet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_ServoStyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PostTraversalTask_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleRuleMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsXBLBinding_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsRefPtrHashKey_open2_nsIContent_close2_close1_close0_instantiation ( ) { 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_nsRefPtrHashKey_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsBindingManager_WrapperHashtable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsRefPtrHashtable_open1_nsURIHashKey_nsXBLDocumentInfo_close1_close0_instantiation ( ) { 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_nsAutoPtr_open0_nsInterfaceHashtable_open1_nsURIHashKey_nsIStreamListener_close1_close0_instantiation ( ) { 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_RefPtr_open0_nsRunnableMethod_open1_nsBindingManager_void_close1_close0_instantiation ( ) { 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_RefPtr_open0_nsAtom_close0_instantiation_10 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_11 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSFontFaceRule_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; } } \ No newline at end of file diff --git a/servo/components/style/properties/gecko.mako.rs b/servo/components/style/properties/gecko.mako.rs index 2030a27f503e..8db4433ab171 100644 --- a/servo/components/style/properties/gecko.mako.rs +++ b/servo/components/style/properties/gecko.mako.rs @@ -5008,18 +5008,32 @@ fn static_assert() { use gecko::conversions::basic_shape::set_corners_from_radius; use gecko::values::GeckoStyleCoordConvertible; use values::generics::basic_shape::{BasicShape, FillRule, ShapeSource}; + let ref mut ${ident} = self.gecko.${gecko_ffi_name}; + // clean up existing struct unsafe { Gecko_DestroyShapeSource(${ident}) }; - ${ident}.mType = StyleShapeSourceType::None; match v { - ShapeSource::Url(ref url) => { + % if ident == "clip_path": + ShapeSource::ImageOrUrl(ref url) => { unsafe { bindings::Gecko_StyleShapeSource_SetURLValue(${ident}, url.for_ffi()) } } + % elif ident == "shape_outside": + ShapeSource::ImageOrUrl(image) => { + unsafe { + bindings::Gecko_NewShapeImage(${ident}); + let style_image = &mut *${ident}.mShapeImage.mPtr; + style_image.set(image); + } + } + % else: + <% raise Exception("Unknown property: %s" % ident) %> + } + % endif ShapeSource::None => {} // don't change the type ShapeSource::Box(reference) => { ${ident}.mReferenceBox = reference.into(); diff --git a/servo/components/style/values/computed/basic_shape.rs b/servo/components/style/values/computed/basic_shape.rs index 2b4feecfba88..20dcffec9c6d 100644 --- a/servo/components/style/values/computed/basic_shape.rs +++ b/servo/components/style/values/computed/basic_shape.rs @@ -9,7 +9,7 @@ use std::fmt; use style_traits::ToCss; -use values::computed::{LengthOrPercentage, ComputedUrl}; +use values::computed::{LengthOrPercentage, ComputedUrl, Image}; use values::generics::basic_shape::{BasicShape as GenericBasicShape}; use values::generics::basic_shape::{Circle as GenericCircle, ClippingShape as GenericClippingShape}; use values::generics::basic_shape::{Ellipse as GenericEllipse, FloatAreaShape as GenericFloatAreaShape}; @@ -19,7 +19,7 @@ use values::generics::basic_shape::{InsetRect as GenericInsetRect, ShapeRadius a pub type ClippingShape = GenericClippingShape; /// A computed float area shape. -pub type FloatAreaShape = GenericFloatAreaShape; +pub type FloatAreaShape = GenericFloatAreaShape; /// A computed basic shape. pub type BasicShape = GenericBasicShape; diff --git a/servo/components/style/values/generics/basic_shape.rs b/servo/components/style/values/generics/basic_shape.rs index 12c7411dbf93..a2f0eb089719 100644 --- a/servo/components/style/values/generics/basic_shape.rs +++ b/servo/components/style/values/generics/basic_shape.rs @@ -27,7 +27,7 @@ pub enum GeometryBox { } /// A float area shape, for `shape-outside`. -pub type FloatAreaShape = ShapeSource; +pub type FloatAreaShape = ShapeSource; // https://drafts.csswg.org/css-shapes-1/#typedef-shape-box define_css_keyword_enum!(ShapeBox: @@ -41,9 +41,9 @@ add_impls_for_keyword_enum!(ShapeBox); /// A shape source, for some reference box. #[allow(missing_docs)] #[derive(Animate, Clone, Debug, MallocSizeOf, PartialEq, ToComputedValue, ToCss)] -pub enum ShapeSource { +pub enum ShapeSource { #[animation(error)] - Url(Url), + ImageOrUrl(ImageOrUrl), Shape( BasicShape, #[animation(constant)] diff --git a/servo/components/style/values/specified/basic_shape.rs b/servo/components/style/values/specified/basic_shape.rs index dbc63adee068..e6d612c7ee7a 100644 --- a/servo/components/style/values/specified/basic_shape.rs +++ b/servo/components/style/values/specified/basic_shape.rs @@ -22,6 +22,7 @@ use values::generics::basic_shape::{Polygon as GenericPolygon, ShapeRadius as Ge use values::generics::rect::Rect; use values::specified::LengthOrPercentage; use values::specified::border::BorderRadius; +use values::specified::image::Image; use values::specified::position::{HorizontalPosition, Position, PositionComponent, Side, VerticalPosition}; use values::specified::url::SpecifiedUrl; @@ -29,7 +30,7 @@ use values::specified::url::SpecifiedUrl; pub type ClippingShape = GenericClippingShape; /// A specified float area shape. -pub type FloatAreaShape = GenericFloatAreaShape; +pub type FloatAreaShape = GenericFloatAreaShape; /// A specified basic shape. pub type BasicShape = GenericBasicShape; @@ -49,14 +50,18 @@ pub type ShapeRadius = GenericShapeRadius; /// The specified value of `Polygon` pub type Polygon = GenericPolygon; -impl Parse for ShapeSource { +impl Parse for ShapeSource +where + ReferenceBox: Parse, + ImageOrUrl: Parse, +{ fn parse<'i, 't>(context: &ParserContext, input: &mut Parser<'i, 't>) -> Result> { if input.try(|i| i.expect_ident_matching("none")).is_ok() { return Ok(ShapeSource::None) } - if let Ok(url) = input.try(|i| SpecifiedUrl::parse(context, i)) { - return Ok(ShapeSource::Url(url)) + if let Ok(image_or_url) = input.try(|i| ImageOrUrl::parse(context, i)) { + return Ok(ShapeSource::ImageOrUrl(image_or_url)) } fn parse_component(context: &ParserContext, input: &mut Parser, From 7d839a753c0c761e47ee18bd029c711a17d36ee4 Mon Sep 17 00:00:00 2001 From: Csoregi Natalia Date: Sun, 26 Nov 2017 12:59:10 +0200 Subject: [PATCH 05/77] Backed out changeset 1fdcd69d2524 for Build Bustage. r=backout on a CLOSED TREE --- servo/components/style/gecko/conversions.rs | 68 +- .../style/gecko/generated/bindings.rs | 587 +----------------- .../style/gecko/generated/structs.rs | 491 ++++++++------- .../components/style/properties/gecko.mako.rs | 18 +- .../style/values/computed/basic_shape.rs | 4 +- .../style/values/generics/basic_shape.rs | 6 +- .../style/values/specified/basic_shape.rs | 13 +- 7 files changed, 272 insertions(+), 915 deletions(-) diff --git a/servo/components/style/gecko/conversions.rs b/servo/components/style/gecko/conversions.rs index 6d082549dfce..c23f760fa04f 100644 --- a/servo/components/style/gecko/conversions.rs +++ b/servo/components/style/gecko/conversions.rs @@ -596,7 +596,7 @@ pub mod basic_shape { use gecko_bindings::sugar::ns_style_coord::{CoordDataMut, CoordDataValue}; use std::borrow::Borrow; use values::computed::ComputedUrl; - use values::computed::basic_shape::{BasicShape, ClippingShape, FloatAreaShape, ShapeRadius}; + use values::computed::basic_shape::{BasicShape, ShapeRadius}; use values::computed::border::{BorderCornerRadius, BorderRadius}; use values::computed::length::LengthOrPercentage; use values::computed::position; @@ -606,68 +606,32 @@ pub mod basic_shape { use values::generics::border::BorderRadius as GenericBorderRadius; use values::generics::rect::Rect; - impl StyleShapeSource { - /// Convert StyleShapeSource to ShapeSource except URL and Image - /// types. - fn into_shape_source( - &self - ) -> Option> - where - ReferenceBox: From - { - match self.mType { - StyleShapeSourceType::None => Some(ShapeSource::None), - StyleShapeSourceType::Box => Some(ShapeSource::Box(self.mReferenceBox.into())), - StyleShapeSourceType::Shape => { - let other_shape = unsafe { &*self.mBasicShape.mPtr }; - let shape = other_shape.into(); - let reference_box = if self.mReferenceBox == StyleGeometryBox::NoBox { - None - } else { - Some(self.mReferenceBox.into()) - }; - Some(ShapeSource::Shape(shape, reference_box)) - }, - StyleShapeSourceType::URL | StyleShapeSourceType::Image => None, - } - } - } - - impl<'a> From<&'a StyleShapeSource> for ClippingShape + impl<'a, ReferenceBox> From<&'a StyleShapeSource> for ShapeSource + where + ReferenceBox: From, { fn from(other: &'a StyleShapeSource) -> Self { match other.mType { + StyleShapeSourceType::None => ShapeSource::None, + StyleShapeSourceType::Box => ShapeSource::Box(other.mReferenceBox.into()), StyleShapeSourceType::URL => { unsafe { let shape_image = &*other.mShapeImage.mPtr; let other_url = &(**shape_image.__bindgen_anon_1.mURLValue.as_ref()); let url = ComputedUrl::from_url_value_data(&other_url._base).unwrap(); - ShapeSource::ImageOrUrl(url) + ShapeSource::Url(url) } }, - StyleShapeSourceType::Image => { - unreachable!("ClippingShape doesn't support Image!"); + StyleShapeSourceType::Shape => { + let other_shape = unsafe { &*other.mBasicShape.mPtr }; + let shape = other_shape.into(); + let reference_box = if other.mReferenceBox == StyleGeometryBox::NoBox { + None + } else { + Some(other.mReferenceBox.into()) + }; + ShapeSource::Shape(shape, reference_box) } - _ => other.into_shape_source().expect("Couldn't convert to StyleSource!") - } - } - } - - impl<'a> From<&'a StyleShapeSource> for FloatAreaShape - { - fn from(other: &'a StyleShapeSource) -> Self { - match other.mType { - StyleShapeSourceType::URL => { - unreachable!("FloatAreaShape doesn't support URL!"); - }, - StyleShapeSourceType::Image => { - unsafe { - let shape_image = &*other.mShapeImage.mPtr; - let image = shape_image.into_image().expect("Cannot convert to Image"); - ShapeSource::ImageOrUrl(image) - } - } - _ => other.into_shape_source().expect("Couldn't convert to StyleSource!") } } } diff --git a/servo/components/style/gecko/generated/bindings.rs b/servo/components/style/gecko/generated/bindings.rs index 9b15d09364a7..aa320c6a4953 100644 --- a/servo/components/style/gecko/generated/bindings.rs +++ b/servo/components/style/gecko/generated/bindings.rs @@ -424,1752 +424,1167 @@ enum RawServoRuleNodeVoid { } pub struct RawServoRuleNode(RawServoRuleNodeVoid); extern "C" { - # [ link_name = "\u{1}_Gecko_EnsureTArrayCapacity" ] pub fn Gecko_EnsureTArrayCapacity ( aArray : * mut :: std :: os :: raw :: c_void , aCapacity : usize , aElementSize : usize , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ClearPODTArray" ] pub fn Gecko_ClearPODTArray ( aArray : * mut :: std :: os :: raw :: c_void , aElementSize : usize , aElementAlign : usize , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_AddRef" ] pub fn Servo_CssRules_AddRef ( ptr : ServoCssRulesBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_Release" ] pub fn Servo_CssRules_Release ( ptr : ServoCssRulesBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheetContents_AddRef" ] pub fn Servo_StyleSheetContents_AddRef ( ptr : RawServoStyleSheetContentsBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheetContents_Release" ] pub fn Servo_StyleSheetContents_Release ( ptr : RawServoStyleSheetContentsBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_AddRef" ] pub fn Servo_DeclarationBlock_AddRef ( ptr : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_Release" ] pub fn Servo_DeclarationBlock_Release ( ptr : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_AddRef" ] pub fn Servo_StyleRule_AddRef ( ptr : RawServoStyleRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_Release" ] pub fn Servo_StyleRule_Release ( ptr : RawServoStyleRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_ImportRule_AddRef" ] pub fn Servo_ImportRule_AddRef ( ptr : RawServoImportRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_ImportRule_Release" ] pub fn Servo_ImportRule_Release ( ptr : RawServoImportRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValue_AddRef" ] pub fn Servo_AnimationValue_AddRef ( ptr : RawServoAnimationValueBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValue_Release" ] pub fn Servo_AnimationValue_Release ( ptr : RawServoAnimationValueBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_Keyframe_AddRef" ] pub fn Servo_Keyframe_AddRef ( ptr : RawServoKeyframeBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_Keyframe_Release" ] pub fn Servo_Keyframe_Release ( ptr : RawServoKeyframeBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_AddRef" ] pub fn Servo_KeyframesRule_AddRef ( ptr : RawServoKeyframesRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_Release" ] pub fn Servo_KeyframesRule_Release ( ptr : RawServoKeyframesRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_AddRef" ] pub fn Servo_MediaList_AddRef ( ptr : RawServoMediaListBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_Release" ] pub fn Servo_MediaList_Release ( ptr : RawServoMediaListBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaRule_AddRef" ] pub fn Servo_MediaRule_AddRef ( ptr : RawServoMediaRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaRule_Release" ] pub fn Servo_MediaRule_Release ( ptr : RawServoMediaRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_NamespaceRule_AddRef" ] pub fn Servo_NamespaceRule_AddRef ( ptr : RawServoNamespaceRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_NamespaceRule_Release" ] pub fn Servo_NamespaceRule_Release ( ptr : RawServoNamespaceRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_PageRule_AddRef" ] pub fn Servo_PageRule_AddRef ( ptr : RawServoPageRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_PageRule_Release" ] pub fn Servo_PageRule_Release ( ptr : RawServoPageRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_SupportsRule_AddRef" ] pub fn Servo_SupportsRule_AddRef ( ptr : RawServoSupportsRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_SupportsRule_Release" ] pub fn Servo_SupportsRule_Release ( ptr : RawServoSupportsRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DocumentRule_AddRef" ] pub fn Servo_DocumentRule_AddRef ( ptr : RawServoDocumentRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DocumentRule_Release" ] pub fn Servo_DocumentRule_Release ( ptr : RawServoDocumentRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_AddRef" ] pub fn Servo_FontFeatureValuesRule_AddRef ( ptr : RawServoFontFeatureValuesRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_Release" ] pub fn Servo_FontFeatureValuesRule_Release ( ptr : RawServoFontFeatureValuesRuleBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_RuleNode_AddRef" ] pub fn Servo_RuleNode_AddRef ( ptr : RawServoRuleNodeBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_RuleNode_Release" ] pub fn Servo_RuleNode_Release ( ptr : RawServoRuleNodeBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_Drop" ] pub fn Servo_StyleSet_Drop ( ptr : RawServoStyleSetOwned , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_SelectorList_Drop" ] pub fn Servo_SelectorList_Drop ( ptr : RawServoSelectorListOwned , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_SourceSizeList_Drop" ] pub fn Servo_SourceSizeList_Drop ( ptr : RawServoSourceSizeListOwned , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_IsInDocument" ] pub fn Gecko_IsInDocument ( node : RawGeckoNodeBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_FlattenedTreeParentIsParent" ] pub fn Gecko_FlattenedTreeParentIsParent ( node : RawGeckoNodeBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_IsSignificantChild" ] pub fn Gecko_IsSignificantChild ( node : RawGeckoNodeBorrowed , text_is_significant : bool , whitespace_is_significant : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetLastChild" ] pub fn Gecko_GetLastChild ( node : RawGeckoNodeBorrowed , ) -> RawGeckoNodeBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetFlattenedTreeParentNode" ] pub fn Gecko_GetFlattenedTreeParentNode ( node : RawGeckoNodeBorrowed , ) -> RawGeckoNodeBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetBeforeOrAfterPseudo" ] pub fn Gecko_GetBeforeOrAfterPseudo ( element : RawGeckoElementBorrowed , is_before : bool , ) -> RawGeckoElementBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetAnonymousContentForElement" ] pub fn Gecko_GetAnonymousContentForElement ( element : RawGeckoElementBorrowed , ) -> * mut nsTArray < * mut nsIContent > ; } extern "C" { - # [ link_name = "\u{1}_Gecko_DestroyAnonymousContentList" ] pub fn Gecko_DestroyAnonymousContentList ( anon_content : * mut nsTArray < * mut nsIContent > , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ServoStyleContext_Init" ] pub fn Gecko_ServoStyleContext_Init ( context : * mut ServoStyleContext , parent_context : ServoStyleContextBorrowedOrNull , pres_context : RawGeckoPresContextBorrowed , values : ServoComputedDataBorrowed , pseudo_type : CSSPseudoElementType , pseudo_tag : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ServoStyleContext_Destroy" ] pub fn Gecko_ServoStyleContext_Destroy ( context : * mut ServoStyleContext , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ConstructStyleChildrenIterator" ] pub fn Gecko_ConstructStyleChildrenIterator ( aElement : RawGeckoElementBorrowed , aIterator : RawGeckoStyleChildrenIteratorBorrowedMut , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_DestroyStyleChildrenIterator" ] pub fn Gecko_DestroyStyleChildrenIterator ( aIterator : RawGeckoStyleChildrenIteratorBorrowedMut , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetNextStyleChild" ] pub fn Gecko_GetNextStyleChild ( it : RawGeckoStyleChildrenIteratorBorrowedMut , ) -> RawGeckoNodeBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_LoadStyleSheet" ] pub fn Gecko_LoadStyleSheet ( loader : * mut Loader , parent : * mut ServoStyleSheet , reusable_sheets : * mut LoaderReusableStyleSheets , base_url_data : * mut RawGeckoURLExtraData , url_bytes : * const u8 , url_length : u32 , media_list : RawServoMediaListStrong , ) -> * mut ServoStyleSheet ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ElementState" ] pub fn Gecko_ElementState ( element : RawGeckoElementBorrowed , ) -> u64 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_DocumentState" ] pub fn Gecko_DocumentState ( aDocument : * const nsIDocument , ) -> u64 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_IsRootElement" ] pub fn Gecko_IsRootElement ( element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_MatchesElement" ] pub fn Gecko_MatchesElement ( type_ : CSSPseudoClassType , element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Namespace" ] pub fn Gecko_Namespace ( element : RawGeckoElementBorrowed , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Gecko_MatchLang" ] pub fn Gecko_MatchLang ( element : RawGeckoElementBorrowed , override_lang : * mut nsAtom , has_override_lang : bool , value : * const u16 , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetXMLLangValue" ] pub fn Gecko_GetXMLLangValue ( element : RawGeckoElementBorrowed , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetDocumentLWTheme" ] pub fn Gecko_GetDocumentLWTheme ( aDocument : * const nsIDocument , ) -> nsIDocument_DocumentTheme ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AtomAttrValue" ] pub fn Gecko_AtomAttrValue ( element : RawGeckoElementBorrowed , attribute : * mut nsAtom , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Gecko_LangValue" ] pub fn Gecko_LangValue ( element : RawGeckoElementBorrowed , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Gecko_HasAttr" ] pub fn Gecko_HasAttr ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AttrEquals" ] pub fn Gecko_AttrEquals ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignoreCase : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AttrDashEquals" ] pub fn Gecko_AttrDashEquals ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AttrIncludes" ] pub fn Gecko_AttrIncludes ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AttrHasSubstring" ] pub fn Gecko_AttrHasSubstring ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AttrHasPrefix" ] pub fn Gecko_AttrHasPrefix ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AttrHasSuffix" ] pub fn Gecko_AttrHasSuffix ( element : RawGeckoElementBorrowed , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ClassOrClassList" ] pub fn Gecko_ClassOrClassList ( element : RawGeckoElementBorrowed , class_ : * mut * mut nsAtom , classList : * mut * mut * mut nsAtom , ) -> u32 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SnapshotAtomAttrValue" ] pub fn Gecko_SnapshotAtomAttrValue ( element : * const ServoElementSnapshot , attribute : * mut nsAtom , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SnapshotLangValue" ] pub fn Gecko_SnapshotLangValue ( element : * const ServoElementSnapshot , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SnapshotHasAttr" ] pub fn Gecko_SnapshotHasAttr ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SnapshotAttrEquals" ] pub fn Gecko_SnapshotAttrEquals ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignoreCase : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SnapshotAttrDashEquals" ] pub fn Gecko_SnapshotAttrDashEquals ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SnapshotAttrIncludes" ] pub fn Gecko_SnapshotAttrIncludes ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SnapshotAttrHasSubstring" ] pub fn Gecko_SnapshotAttrHasSubstring ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SnapshotAttrHasPrefix" ] pub fn Gecko_SnapshotAttrHasPrefix ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SnapshotAttrHasSuffix" ] pub fn Gecko_SnapshotAttrHasSuffix ( element : * const ServoElementSnapshot , ns : * mut nsAtom , name : * mut nsAtom , str : * mut nsAtom , ignore_case : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SnapshotClassOrClassList" ] pub fn Gecko_SnapshotClassOrClassList ( element : * const ServoElementSnapshot , class_ : * mut * mut nsAtom , classList : * mut * mut * mut nsAtom , ) -> u32 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetStyleAttrDeclarationBlock" ] pub fn Gecko_GetStyleAttrDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_UnsetDirtyStyleAttr" ] pub fn Gecko_UnsetDirtyStyleAttr ( element : RawGeckoElementBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetHTMLPresentationAttrDeclarationBlock" ] pub fn Gecko_GetHTMLPresentationAttrDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetExtraContentStyleDeclarations" ] pub fn Gecko_GetExtraContentStyleDeclarations ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetUnvisitedLinkAttrDeclarationBlock" ] pub fn Gecko_GetUnvisitedLinkAttrDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetVisitedLinkAttrDeclarationBlock" ] pub fn Gecko_GetVisitedLinkAttrDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetActiveLinkAttrDeclarationBlock" ] pub fn Gecko_GetActiveLinkAttrDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_IsPrivateBrowsingEnabled" ] pub fn Gecko_IsPrivateBrowsingEnabled ( aDoc : * const nsIDocument , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetAnimationRule" ] pub fn Gecko_GetAnimationRule ( aElementOrPseudo : RawGeckoElementBorrowed , aCascadeLevel : EffectCompositor_CascadeLevel , aAnimationValues : RawServoAnimationValueMapBorrowedMut , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetSMILOverrideDeclarationBlock" ] pub fn Gecko_GetSMILOverrideDeclarationBlock ( element : RawGeckoElementBorrowed , ) -> RawServoDeclarationBlockStrongBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_StyleAnimationsEquals" ] pub fn Gecko_StyleAnimationsEquals ( arg1 : RawGeckoStyleAnimationListBorrowed , arg2 : RawGeckoStyleAnimationListBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyAnimationNames" ] pub fn Gecko_CopyAnimationNames ( aDest : RawGeckoStyleAnimationListBorrowedMut , aSrc : RawGeckoStyleAnimationListBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetAnimationName" ] pub fn Gecko_SetAnimationName ( aStyleAnimation : * mut StyleAnimation , aAtom : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_UpdateAnimations" ] pub fn Gecko_UpdateAnimations ( aElementOrPseudo : RawGeckoElementBorrowed , aOldComputedValues : ServoStyleContextBorrowedOrNull , aComputedValues : ServoStyleContextBorrowedOrNull , aTasks : UpdateAnimationsTasks , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ElementHasAnimations" ] pub fn Gecko_ElementHasAnimations ( aElementOrPseudo : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ElementHasCSSAnimations" ] pub fn Gecko_ElementHasCSSAnimations ( aElementOrPseudo : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ElementHasCSSTransitions" ] pub fn Gecko_ElementHasCSSTransitions ( aElementOrPseudo : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ElementTransitions_Length" ] pub fn Gecko_ElementTransitions_Length ( aElementOrPseudo : RawGeckoElementBorrowed , ) -> usize ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ElementTransitions_PropertyAt" ] pub fn Gecko_ElementTransitions_PropertyAt ( aElementOrPseudo : RawGeckoElementBorrowed , aIndex : usize , ) -> nsCSSPropertyID ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ElementTransitions_EndValueAt" ] pub fn Gecko_ElementTransitions_EndValueAt ( aElementOrPseudo : RawGeckoElementBorrowed , aIndex : usize , ) -> RawServoAnimationValueBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetProgressFromComputedTiming" ] pub fn Gecko_GetProgressFromComputedTiming ( aComputedTiming : RawGeckoComputedTimingBorrowed , ) -> f64 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetPositionInSegment" ] pub fn Gecko_GetPositionInSegment ( aSegment : RawGeckoAnimationPropertySegmentBorrowed , aProgress : f64 , aBeforeFlag : ComputedTimingFunction_BeforeFlag , ) -> f64 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AnimationGetBaseStyle" ] pub fn Gecko_AnimationGetBaseStyle ( aBaseStyles : RawServoAnimationValueTableBorrowed , aProperty : nsCSSPropertyID , ) -> RawServoAnimationValueBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_StyleTransition_SetUnsupportedProperty" ] pub fn Gecko_StyleTransition_SetUnsupportedProperty ( aTransition : * mut StyleTransition , aAtom : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Atomize" ] pub fn Gecko_Atomize ( aString : * const :: std :: os :: raw :: c_char , aLength : u32 , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Atomize16" ] pub fn Gecko_Atomize16 ( aString : * const nsAString , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddRefAtom" ] pub fn Gecko_AddRefAtom ( aAtom : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReleaseAtom" ] pub fn Gecko_ReleaseAtom ( aAtom : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetAtomAsUTF16" ] pub fn Gecko_GetAtomAsUTF16 ( aAtom : * mut nsAtom , aLength : * mut u32 , ) -> * const u16 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AtomEqualsUTF8" ] pub fn Gecko_AtomEqualsUTF8 ( aAtom : * mut nsAtom , aString : * const :: std :: os :: raw :: c_char , aLength : u32 , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AtomEqualsUTF8IgnoreCase" ] pub fn Gecko_AtomEqualsUTF8IgnoreCase ( aAtom : * mut nsAtom , aString : * const :: std :: os :: raw :: c_char , aLength : u32 , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_EnsureMozBorderColors" ] pub fn Gecko_EnsureMozBorderColors ( aBorder : * mut nsStyleBorder , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyFontFamilyFrom" ] pub fn Gecko_CopyFontFamilyFrom ( dst : * mut nsFont , src : * const nsFont , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsTArray_FontFamilyName_AppendNamed" ] pub fn Gecko_nsTArray_FontFamilyName_AppendNamed ( aNames : * mut nsTArray < FontFamilyName > , aName : * mut nsAtom , aQuoted : bool , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsTArray_FontFamilyName_AppendGeneric" ] pub fn Gecko_nsTArray_FontFamilyName_AppendGeneric ( aNames : * mut nsTArray < FontFamilyName > , aType : FontFamilyType , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SharedFontList_Create" ] pub fn Gecko_SharedFontList_Create ( ) -> * mut SharedFontList ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SharedFontList_SizeOfIncludingThis" ] pub fn Gecko_SharedFontList_SizeOfIncludingThis ( fontlist : * mut SharedFontList , ) -> usize ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SharedFontList_SizeOfIncludingThisIfUnshared" ] pub fn Gecko_SharedFontList_SizeOfIncludingThisIfUnshared ( fontlist : * mut SharedFontList , ) -> usize ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddRefSharedFontListArbitraryThread" ] pub fn Gecko_AddRefSharedFontListArbitraryThread ( aPtr : * mut SharedFontList , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReleaseSharedFontListArbitraryThread" ] pub fn Gecko_ReleaseSharedFontListArbitraryThread ( aPtr : * mut SharedFontList , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsFont_InitSystem" ] pub fn Gecko_nsFont_InitSystem ( dst : * mut nsFont , font_id : i32 , font : * const nsStyleFont , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsFont_Destroy" ] pub fn Gecko_nsFont_Destroy ( dst : * mut nsFont , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ConstructFontFeatureValueSet" ] pub fn Gecko_ConstructFontFeatureValueSet ( ) -> * mut gfxFontFeatureValueSet ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AppendFeatureValueHashEntry" ] pub fn Gecko_AppendFeatureValueHashEntry ( value_set : * mut gfxFontFeatureValueSet , family : * mut nsAtom , alternate : u32 , name : * mut nsAtom , ) -> * mut nsTArray < :: std :: os :: raw :: c_uint > ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsFont_SetFontFeatureValuesLookup" ] pub fn Gecko_nsFont_SetFontFeatureValuesLookup ( font : * mut nsFont , pres_context : * const RawGeckoPresContext , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsFont_ResetFontFeatureValuesLookup" ] pub fn Gecko_nsFont_ResetFontFeatureValuesLookup ( font : * mut nsFont , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ClearAlternateValues" ] pub fn Gecko_ClearAlternateValues ( font : * mut nsFont , length : usize , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AppendAlternateValues" ] pub fn Gecko_AppendAlternateValues ( font : * mut nsFont , alternate_name : u32 , atom : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyAlternateValuesFrom" ] pub fn Gecko_CopyAlternateValuesFrom ( dest : * mut nsFont , src : * const nsFont , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetImageOrientation" ] pub fn Gecko_SetImageOrientation ( aVisibility : * mut nsStyleVisibility , aOrientation : u8 , aFlip : bool , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetImageOrientationAsFromImage" ] pub fn Gecko_SetImageOrientationAsFromImage ( aVisibility : * mut nsStyleVisibility , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyImageOrientationFrom" ] pub fn Gecko_CopyImageOrientationFrom ( aDst : * mut nsStyleVisibility , aSrc : * const nsStyleVisibility , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetCounterStyleToName" ] pub fn Gecko_SetCounterStyleToName ( ptr : * mut CounterStylePtr , name : * mut nsAtom , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetCounterStyleToSymbols" ] pub fn Gecko_SetCounterStyleToSymbols ( ptr : * mut CounterStylePtr , symbols_type : u8 , symbols : * const * const nsACString , symbols_count : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetCounterStyleToString" ] pub fn Gecko_SetCounterStyleToString ( ptr : * mut CounterStylePtr , symbol : * const nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyCounterStyle" ] pub fn Gecko_CopyCounterStyle ( dst : * mut CounterStylePtr , src : * const CounterStylePtr , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CounterStyle_GetName" ] pub fn Gecko_CounterStyle_GetName ( ptr : * const CounterStylePtr , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CounterStyle_GetAnonymous" ] pub fn Gecko_CounterStyle_GetAnonymous ( ptr : * const CounterStylePtr , ) -> * const AnonymousCounterStyle ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetNullImageValue" ] pub fn Gecko_SetNullImageValue ( image : * mut nsStyleImage , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetGradientImageValue" ] pub fn Gecko_SetGradientImageValue ( image : * mut nsStyleImage , gradient : * mut nsStyleGradient , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddRefImageValueArbitraryThread" ] pub fn Gecko_AddRefImageValueArbitraryThread ( aPtr : * mut ImageValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReleaseImageValueArbitraryThread" ] pub fn Gecko_ReleaseImageValueArbitraryThread ( aPtr : * mut ImageValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ImageValue_Create" ] pub fn Gecko_ImageValue_Create ( aURI : ServoBundledURI , aURIString : ServoRawOffsetArc < RustString > , ) -> * mut ImageValue ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ImageValue_SizeOfIncludingThis" ] pub fn Gecko_ImageValue_SizeOfIncludingThis ( aImageValue : * mut ImageValue , ) -> usize ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetLayerImageImageValue" ] pub fn Gecko_SetLayerImageImageValue ( image : * mut nsStyleImage , aImageValue : * mut ImageValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetImageElement" ] pub fn Gecko_SetImageElement ( image : * mut nsStyleImage , atom : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyImageValueFrom" ] pub fn Gecko_CopyImageValueFrom ( image : * mut nsStyleImage , other : * const nsStyleImage , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_InitializeImageCropRect" ] pub fn Gecko_InitializeImageCropRect ( image : * mut nsStyleImage , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CreateGradient" ] pub fn Gecko_CreateGradient ( shape : u8 , size : u8 , repeating : bool , legacy_syntax : bool , moz_legacy_syntax : bool , stops : u32 , ) -> * mut nsStyleGradient ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetURLValue" ] pub fn Gecko_GetURLValue ( image : * const nsStyleImage , ) -> * const URLValueData ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetImageElement" ] pub fn Gecko_GetImageElement ( image : * const nsStyleImage , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetGradientImageValue" ] pub fn Gecko_GetGradientImageValue ( image : * const nsStyleImage , ) -> * const nsStyleGradient ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetListStyleImageNone" ] pub fn Gecko_SetListStyleImageNone ( style_struct : * mut nsStyleList , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetListStyleImageImageValue" ] pub fn Gecko_SetListStyleImageImageValue ( style_struct : * mut nsStyleList , aImageValue : * mut ImageValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyListStyleImageFrom" ] pub fn Gecko_CopyListStyleImageFrom ( dest : * mut nsStyleList , src : * const nsStyleList , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetCursorArrayLength" ] pub fn Gecko_SetCursorArrayLength ( ui : * mut nsStyleUserInterface , len : usize , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetCursorImageValue" ] pub fn Gecko_SetCursorImageValue ( aCursor : * mut nsCursorImage , aImageValue : * mut ImageValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyCursorArrayFrom" ] pub fn Gecko_CopyCursorArrayFrom ( dest : * mut nsStyleUserInterface , src : * const nsStyleUserInterface , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetContentDataImageValue" ] pub fn Gecko_SetContentDataImageValue ( aList : * mut nsStyleContentData , aImageValue : * mut ImageValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetCounterFunction" ] pub fn Gecko_SetCounterFunction ( content_data : * mut nsStyleContentData , type_ : nsStyleContentType , ) -> * mut nsStyleContentData_CounterFunction ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetNodeFlags" ] pub fn Gecko_SetNodeFlags ( node : RawGeckoNodeBorrowed , flags : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_UnsetNodeFlags" ] pub fn Gecko_UnsetNodeFlags ( node : RawGeckoNodeBorrowed , flags : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NoteDirtyElement" ] pub fn Gecko_NoteDirtyElement ( element : RawGeckoElementBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NoteDirtySubtreeForInvalidation" ] pub fn Gecko_NoteDirtySubtreeForInvalidation ( element : RawGeckoElementBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NoteAnimationOnlyDirtyElement" ] pub fn Gecko_NoteAnimationOnlyDirtyElement ( element : RawGeckoElementBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetImplementedPseudo" ] pub fn Gecko_GetImplementedPseudo ( element : RawGeckoElementBorrowed , ) -> CSSPseudoElementType ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CalcStyleDifference" ] pub fn Gecko_CalcStyleDifference ( old_style : ServoStyleContextBorrowed , new_style : ServoStyleContextBorrowed , any_style_changed : * mut bool , reset_only_changed : * mut bool , ) -> u32 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetElementSnapshot" ] pub fn Gecko_GetElementSnapshot ( table : * const ServoElementSnapshotTable , element : RawGeckoElementBorrowed , ) -> * const ServoElementSnapshot ; } extern "C" { - # [ link_name = "\u{1}_Gecko_DropElementSnapshot" ] pub fn Gecko_DropElementSnapshot ( snapshot : ServoElementSnapshotOwned , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_HaveSeenPtr" ] pub fn Gecko_HaveSeenPtr ( table : * mut SeenPtrs , ptr : * const :: std :: os :: raw :: c_void , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ResizeTArrayForStrings" ] pub fn Gecko_ResizeTArrayForStrings ( array : * mut nsTArray , length : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetStyleGridTemplate" ] pub fn Gecko_SetStyleGridTemplate ( grid_template : * mut UniquePtr < nsStyleGridTemplate > , value : * mut nsStyleGridTemplate , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CreateStyleGridTemplate" ] pub fn Gecko_CreateStyleGridTemplate ( track_sizes : u32 , name_size : u32 , ) -> * mut nsStyleGridTemplate ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyStyleGridTemplateValues" ] pub fn Gecko_CopyStyleGridTemplateValues ( grid_template : * mut UniquePtr < nsStyleGridTemplate > , other : * const nsStyleGridTemplate , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NewGridTemplateAreasValue" ] pub fn Gecko_NewGridTemplateAreasValue ( areas : u32 , templates : u32 , columns : u32 , ) -> * mut GridTemplateAreasValue ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddRefGridTemplateAreasValueArbitraryThread" ] pub fn Gecko_AddRefGridTemplateAreasValueArbitraryThread ( aPtr : * mut GridTemplateAreasValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReleaseGridTemplateAreasValueArbitraryThread" ] pub fn Gecko_ReleaseGridTemplateAreasValueArbitraryThread ( aPtr : * mut GridTemplateAreasValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ClearAndResizeStyleContents" ] pub fn Gecko_ClearAndResizeStyleContents ( content : * mut nsStyleContent , how_many : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ClearAndResizeCounterIncrements" ] pub fn Gecko_ClearAndResizeCounterIncrements ( content : * mut nsStyleContent , how_many : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ClearAndResizeCounterResets" ] pub fn Gecko_ClearAndResizeCounterResets ( content : * mut nsStyleContent , how_many : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyStyleContentsFrom" ] pub fn Gecko_CopyStyleContentsFrom ( content : * mut nsStyleContent , other : * const nsStyleContent , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyCounterResetsFrom" ] pub fn Gecko_CopyCounterResetsFrom ( content : * mut nsStyleContent , other : * const nsStyleContent , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyCounterIncrementsFrom" ] pub fn Gecko_CopyCounterIncrementsFrom ( content : * mut nsStyleContent , other : * const nsStyleContent , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_EnsureImageLayersLength" ] pub fn Gecko_EnsureImageLayersLength ( layers : * mut nsStyleImageLayers , len : usize , layer_type : nsStyleImageLayers_LayerType , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_EnsureStyleAnimationArrayLength" ] pub fn Gecko_EnsureStyleAnimationArrayLength ( array : * mut :: std :: os :: raw :: c_void , len : usize , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_EnsureStyleTransitionArrayLength" ] pub fn Gecko_EnsureStyleTransitionArrayLength ( array : * mut :: std :: os :: raw :: c_void , len : usize , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ClearWillChange" ] pub fn Gecko_ClearWillChange ( display : * mut nsStyleDisplay , length : usize , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AppendWillChange" ] pub fn Gecko_AppendWillChange ( display : * mut nsStyleDisplay , atom : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyWillChangeFrom" ] pub fn Gecko_CopyWillChangeFrom ( dest : * mut nsStyleDisplay , src : * mut nsStyleDisplay , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetOrCreateKeyframeAtStart" ] pub fn Gecko_GetOrCreateKeyframeAtStart ( keyframes : RawGeckoKeyframeListBorrowedMut , offset : f32 , timingFunction : * const nsTimingFunction , ) -> * mut Keyframe ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetOrCreateInitialKeyframe" ] pub fn Gecko_GetOrCreateInitialKeyframe ( keyframes : RawGeckoKeyframeListBorrowedMut , timingFunction : * const nsTimingFunction , ) -> * mut Keyframe ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetOrCreateFinalKeyframe" ] pub fn Gecko_GetOrCreateFinalKeyframe ( keyframes : RawGeckoKeyframeListBorrowedMut , timingFunction : * const nsTimingFunction , ) -> * mut Keyframe ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AppendPropertyValuePair" ] pub fn Gecko_AppendPropertyValuePair ( aProperties : RawGeckoPropertyValuePairListBorrowedMut , aProperty : nsCSSPropertyID , ) -> * mut PropertyValuePair ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ResetStyleCoord" ] pub fn Gecko_ResetStyleCoord ( unit : * mut nsStyleUnit , value : * mut nsStyleUnion , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetStyleCoordCalcValue" ] pub fn Gecko_SetStyleCoordCalcValue ( unit : * mut nsStyleUnit , value : * mut nsStyleUnion , calc : nsStyleCoord_CalcValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyShapeSourceFrom" ] pub fn Gecko_CopyShapeSourceFrom ( dst : * mut StyleShapeSource , src : * const StyleShapeSource , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_DestroyShapeSource" ] pub fn Gecko_DestroyShapeSource ( shape : * mut StyleShapeSource , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NewBasicShape" ] pub fn Gecko_NewBasicShape ( shape : * mut StyleShapeSource , type_ : StyleBasicShapeType , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NewShapeImage" ] - pub fn Gecko_NewShapeImage ( shape : * mut StyleShapeSource , ) ; -} extern "C" { - # [ link_name = "\u{1}_Gecko_StyleShapeSource_SetURLValue" ] pub fn Gecko_StyleShapeSource_SetURLValue ( shape : * mut StyleShapeSource , uri : ServoBundledURI , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ResetFilters" ] pub fn Gecko_ResetFilters ( effects : * mut nsStyleEffects , new_len : usize , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyFiltersFrom" ] pub fn Gecko_CopyFiltersFrom ( aSrc : * mut nsStyleEffects , aDest : * mut nsStyleEffects , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleFilter_SetURLValue" ] pub fn Gecko_nsStyleFilter_SetURLValue ( effects : * mut nsStyleFilter , uri : ServoBundledURI , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleSVGPaint_CopyFrom" ] pub fn Gecko_nsStyleSVGPaint_CopyFrom ( dest : * mut nsStyleSVGPaint , src : * const nsStyleSVGPaint , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleSVGPaint_SetURLValue" ] pub fn Gecko_nsStyleSVGPaint_SetURLValue ( paint : * mut nsStyleSVGPaint , uri : ServoBundledURI , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleSVGPaint_Reset" ] pub fn Gecko_nsStyleSVGPaint_Reset ( paint : * mut nsStyleSVGPaint , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleSVG_SetDashArrayLength" ] pub fn Gecko_nsStyleSVG_SetDashArrayLength ( svg : * mut nsStyleSVG , len : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleSVG_CopyDashArray" ] pub fn Gecko_nsStyleSVG_CopyDashArray ( dst : * mut nsStyleSVG , src : * const nsStyleSVG , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleSVG_SetContextPropertiesLength" ] pub fn Gecko_nsStyleSVG_SetContextPropertiesLength ( svg : * mut nsStyleSVG , len : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleSVG_CopyContextProperties" ] pub fn Gecko_nsStyleSVG_CopyContextProperties ( dst : * mut nsStyleSVG , src : * const nsStyleSVG , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NewURLValue" ] pub fn Gecko_NewURLValue ( uri : ServoBundledURI , ) -> * mut URLValue ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddRefCSSURLValueArbitraryThread" ] pub fn Gecko_AddRefCSSURLValueArbitraryThread ( aPtr : * mut URLValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReleaseCSSURLValueArbitraryThread" ] pub fn Gecko_ReleaseCSSURLValueArbitraryThread ( aPtr : * mut URLValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddRefURLExtraDataArbitraryThread" ] pub fn Gecko_AddRefURLExtraDataArbitraryThread ( aPtr : * mut RawGeckoURLExtraData , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReleaseURLExtraDataArbitraryThread" ] pub fn Gecko_ReleaseURLExtraDataArbitraryThread ( aPtr : * mut RawGeckoURLExtraData , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_FillAllImageLayers" ] pub fn Gecko_FillAllImageLayers ( layers : * mut nsStyleImageLayers , max_len : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddRefCalcArbitraryThread" ] pub fn Gecko_AddRefCalcArbitraryThread ( aPtr : * mut nsStyleCoord_Calc , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReleaseCalcArbitraryThread" ] pub fn Gecko_ReleaseCalcArbitraryThread ( aPtr : * mut nsStyleCoord_Calc , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NewCSSShadowArray" ] pub fn Gecko_NewCSSShadowArray ( len : u32 , ) -> * mut nsCSSShadowArray ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddRefCSSShadowArrayArbitraryThread" ] pub fn Gecko_AddRefCSSShadowArrayArbitraryThread ( aPtr : * mut nsCSSShadowArray , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReleaseCSSShadowArrayArbitraryThread" ] pub fn Gecko_ReleaseCSSShadowArrayArbitraryThread ( aPtr : * mut nsCSSShadowArray , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NewStyleQuoteValues" ] pub fn Gecko_NewStyleQuoteValues ( len : u32 , ) -> * mut nsStyleQuoteValues ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddRefQuoteValuesArbitraryThread" ] pub fn Gecko_AddRefQuoteValuesArbitraryThread ( aPtr : * mut nsStyleQuoteValues , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReleaseQuoteValuesArbitraryThread" ] pub fn Gecko_ReleaseQuoteValuesArbitraryThread ( aPtr : * mut nsStyleQuoteValues , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NewCSSValueSharedList" ] pub fn Gecko_NewCSSValueSharedList ( len : u32 , ) -> * mut nsCSSValueSharedList ; } extern "C" { - # [ link_name = "\u{1}_Gecko_NewNoneTransform" ] pub fn Gecko_NewNoneTransform ( ) -> * mut nsCSSValueSharedList ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_GetArrayItem" ] pub fn Gecko_CSSValue_GetArrayItem ( css_value : nsCSSValueBorrowedMut , index : i32 , ) -> nsCSSValueBorrowedMut ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_GetArrayItemConst" ] pub fn Gecko_CSSValue_GetArrayItemConst ( css_value : nsCSSValueBorrowed , index : i32 , ) -> nsCSSValueBorrowed ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_GetKeyword" ] pub fn Gecko_CSSValue_GetKeyword ( aCSSValue : nsCSSValueBorrowed , ) -> nsCSSKeyword ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_GetNumber" ] pub fn Gecko_CSSValue_GetNumber ( css_value : nsCSSValueBorrowed , ) -> f32 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_GetPercentage" ] pub fn Gecko_CSSValue_GetPercentage ( css_value : nsCSSValueBorrowed , ) -> f32 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_GetCalc" ] pub fn Gecko_CSSValue_GetCalc ( aCSSValue : nsCSSValueBorrowed , ) -> nsStyleCoord_CalcValue ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetNumber" ] pub fn Gecko_CSSValue_SetNumber ( css_value : nsCSSValueBorrowedMut , number : f32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetKeyword" ] pub fn Gecko_CSSValue_SetKeyword ( css_value : nsCSSValueBorrowedMut , keyword : nsCSSKeyword , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetPercentage" ] pub fn Gecko_CSSValue_SetPercentage ( css_value : nsCSSValueBorrowedMut , percent : f32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetPixelLength" ] pub fn Gecko_CSSValue_SetPixelLength ( aCSSValue : nsCSSValueBorrowedMut , aLen : f32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetCalc" ] pub fn Gecko_CSSValue_SetCalc ( css_value : nsCSSValueBorrowedMut , calc : nsStyleCoord_CalcValue , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetFunction" ] pub fn Gecko_CSSValue_SetFunction ( css_value : nsCSSValueBorrowedMut , len : i32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetString" ] pub fn Gecko_CSSValue_SetString ( css_value : nsCSSValueBorrowedMut , string : * const u8 , len : u32 , unit : nsCSSUnit , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetStringFromAtom" ] pub fn Gecko_CSSValue_SetStringFromAtom ( css_value : nsCSSValueBorrowedMut , atom : * mut nsAtom , unit : nsCSSUnit , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetAtomIdent" ] pub fn Gecko_CSSValue_SetAtomIdent ( css_value : nsCSSValueBorrowedMut , atom : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetArray" ] pub fn Gecko_CSSValue_SetArray ( css_value : nsCSSValueBorrowedMut , len : i32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetURL" ] pub fn Gecko_CSSValue_SetURL ( css_value : nsCSSValueBorrowedMut , uri : ServoBundledURI , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetInt" ] pub fn Gecko_CSSValue_SetInt ( css_value : nsCSSValueBorrowedMut , integer : i32 , unit : nsCSSUnit , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetPair" ] pub fn Gecko_CSSValue_SetPair ( css_value : nsCSSValueBorrowedMut , xvalue : nsCSSValueBorrowed , yvalue : nsCSSValueBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetList" ] pub fn Gecko_CSSValue_SetList ( css_value : nsCSSValueBorrowedMut , len : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_SetPairList" ] pub fn Gecko_CSSValue_SetPairList ( css_value : nsCSSValueBorrowedMut , len : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_InitSharedList" ] pub fn Gecko_CSSValue_InitSharedList ( css_value : nsCSSValueBorrowedMut , len : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSValue_Drop" ] pub fn Gecko_CSSValue_Drop ( css_value : nsCSSValueBorrowedMut , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddRefCSSValueSharedListArbitraryThread" ] pub fn Gecko_AddRefCSSValueSharedListArbitraryThread ( aPtr : * mut nsCSSValueSharedList , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReleaseCSSValueSharedListArbitraryThread" ] pub fn Gecko_ReleaseCSSValueSharedListArbitraryThread ( aPtr : * mut nsCSSValueSharedList , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleFont_SetLang" ] pub fn Gecko_nsStyleFont_SetLang ( font : * mut nsStyleFont , atom : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleFont_CopyLangFrom" ] pub fn Gecko_nsStyleFont_CopyLangFrom ( aFont : * mut nsStyleFont , aSource : * const nsStyleFont , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleFont_FixupNoneGeneric" ] pub fn Gecko_nsStyleFont_FixupNoneGeneric ( font : * mut nsStyleFont , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleFont_PrefillDefaultForGeneric" ] pub fn Gecko_nsStyleFont_PrefillDefaultForGeneric ( font : * mut nsStyleFont , pres_context : RawGeckoPresContextBorrowed , generic_id : u8 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_nsStyleFont_FixupMinFontSize" ] pub fn Gecko_nsStyleFont_FixupMinFontSize ( font : * mut nsStyleFont , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetBaseSize" ] pub fn Gecko_GetBaseSize ( lang : * mut nsAtom , ) -> FontSizePrefs ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetBindingParent" ] pub fn Gecko_GetBindingParent ( aElement : RawGeckoElementBorrowed , ) -> RawGeckoElementBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetXBLBinding" ] pub fn Gecko_GetXBLBinding ( aElement : RawGeckoElementBorrowed , ) -> RawGeckoXBLBindingBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_XBLBinding_GetRawServoStyleSet" ] pub fn Gecko_XBLBinding_GetRawServoStyleSet ( aXBLBinding : RawGeckoXBLBindingBorrowed , ) -> RawServoStyleSetBorrowedOrNull ; } extern "C" { - # [ link_name = "\u{1}_Gecko_XBLBinding_InheritsStyle" ] pub fn Gecko_XBLBinding_InheritsStyle ( aXBLBinding : RawGeckoXBLBindingBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetFontMetrics" ] pub fn Gecko_GetFontMetrics ( pres_context : RawGeckoPresContextBorrowed , is_vertical : bool , font : * const nsStyleFont , font_size : nscoord , use_user_font_set : bool , ) -> GeckoFontMetrics ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetAppUnitsPerPhysicalInch" ] pub fn Gecko_GetAppUnitsPerPhysicalInch ( pres_context : RawGeckoPresContextBorrowed , ) -> i32 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_StyleSheet_Clone" ] pub fn Gecko_StyleSheet_Clone ( aSheet : * const ServoStyleSheet , aNewParentSheet : * const ServoStyleSheet , ) -> * mut ServoStyleSheet ; } extern "C" { - # [ link_name = "\u{1}_Gecko_StyleSheet_AddRef" ] pub fn Gecko_StyleSheet_AddRef ( aSheet : * const ServoStyleSheet , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_StyleSheet_Release" ] pub fn Gecko_StyleSheet_Release ( aSheet : * const ServoStyleSheet , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_LookupCSSKeyword" ] pub fn Gecko_LookupCSSKeyword ( string : * const u8 , len : u32 , ) -> nsCSSKeyword ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSKeywordString" ] pub fn Gecko_CSSKeywordString ( keyword : nsCSSKeyword , len : * mut u32 , ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSFontFaceRule_Create" ] pub fn Gecko_CSSFontFaceRule_Create ( line : u32 , column : u32 , ) -> * mut nsCSSFontFaceRule ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSFontFaceRule_Clone" ] pub fn Gecko_CSSFontFaceRule_Clone ( rule : * const nsCSSFontFaceRule , ) -> * mut nsCSSFontFaceRule ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSFontFaceRule_GetCssText" ] pub fn Gecko_CSSFontFaceRule_GetCssText ( rule : * const nsCSSFontFaceRule , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSFontFaceRule_AddRef" ] pub fn Gecko_CSSFontFaceRule_AddRef ( aPtr : * mut nsCSSFontFaceRule , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSFontFaceRule_Release" ] pub fn Gecko_CSSFontFaceRule_Release ( aPtr : * mut nsCSSFontFaceRule , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSCounterStyle_Create" ] pub fn Gecko_CSSCounterStyle_Create ( name : * mut nsAtom , ) -> * mut nsCSSCounterStyleRule ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSCounterStyle_Clone" ] pub fn Gecko_CSSCounterStyle_Clone ( rule : * const nsCSSCounterStyleRule , ) -> * mut nsCSSCounterStyleRule ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSCounterStyle_GetCssText" ] pub fn Gecko_CSSCounterStyle_GetCssText ( rule : * const nsCSSCounterStyleRule , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSCounterStyleRule_AddRef" ] pub fn Gecko_CSSCounterStyleRule_AddRef ( aPtr : * mut nsCSSCounterStyleRule , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CSSCounterStyleRule_Release" ] pub fn Gecko_CSSCounterStyleRule_Release ( aPtr : * mut nsCSSCounterStyleRule , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_IsDocumentBody" ] pub fn Gecko_IsDocumentBody ( element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetLookAndFeelSystemColor" ] pub fn Gecko_GetLookAndFeelSystemColor ( color_id : i32 , pres_context : RawGeckoPresContextBorrowed , ) -> nscolor ; } extern "C" { - # [ link_name = "\u{1}_Gecko_MatchStringArgPseudo" ] pub fn Gecko_MatchStringArgPseudo ( element : RawGeckoElementBorrowed , type_ : CSSPseudoClassType , ident : * const u16 , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddPropertyToSet" ] pub fn Gecko_AddPropertyToSet ( arg1 : nsCSSPropertyIDSetBorrowedMut , arg2 : nsCSSPropertyID , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_RegisterNamespace" ] pub fn Gecko_RegisterNamespace ( ns : * mut nsAtom , ) -> i32 ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ShouldCreateStyleThreadPool" ] pub fn Gecko_ShouldCreateStyleThreadPool ( ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleFont" ] pub fn Gecko_Construct_Default_nsStyleFont ( ptr : * mut nsStyleFont , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleFont" ] pub fn Gecko_CopyConstruct_nsStyleFont ( ptr : * mut nsStyleFont , other : * const nsStyleFont , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleFont" ] pub fn Gecko_Destroy_nsStyleFont ( ptr : * mut nsStyleFont , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleColor" ] pub fn Gecko_Construct_Default_nsStyleColor ( ptr : * mut nsStyleColor , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleColor" ] pub fn Gecko_CopyConstruct_nsStyleColor ( ptr : * mut nsStyleColor , other : * const nsStyleColor , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleColor" ] pub fn Gecko_Destroy_nsStyleColor ( ptr : * mut nsStyleColor , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleList" ] pub fn Gecko_Construct_Default_nsStyleList ( ptr : * mut nsStyleList , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleList" ] pub fn Gecko_CopyConstruct_nsStyleList ( ptr : * mut nsStyleList , other : * const nsStyleList , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleList" ] pub fn Gecko_Destroy_nsStyleList ( ptr : * mut nsStyleList , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleText" ] pub fn Gecko_Construct_Default_nsStyleText ( ptr : * mut nsStyleText , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleText" ] pub fn Gecko_CopyConstruct_nsStyleText ( ptr : * mut nsStyleText , other : * const nsStyleText , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleText" ] pub fn Gecko_Destroy_nsStyleText ( ptr : * mut nsStyleText , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleVisibility" ] pub fn Gecko_Construct_Default_nsStyleVisibility ( ptr : * mut nsStyleVisibility , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleVisibility" ] pub fn Gecko_CopyConstruct_nsStyleVisibility ( ptr : * mut nsStyleVisibility , other : * const nsStyleVisibility , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleVisibility" ] pub fn Gecko_Destroy_nsStyleVisibility ( ptr : * mut nsStyleVisibility , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleUserInterface" ] pub fn Gecko_Construct_Default_nsStyleUserInterface ( ptr : * mut nsStyleUserInterface , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleUserInterface" ] pub fn Gecko_CopyConstruct_nsStyleUserInterface ( ptr : * mut nsStyleUserInterface , other : * const nsStyleUserInterface , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleUserInterface" ] pub fn Gecko_Destroy_nsStyleUserInterface ( ptr : * mut nsStyleUserInterface , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleTableBorder" ] pub fn Gecko_Construct_Default_nsStyleTableBorder ( ptr : * mut nsStyleTableBorder , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleTableBorder" ] pub fn Gecko_CopyConstruct_nsStyleTableBorder ( ptr : * mut nsStyleTableBorder , other : * const nsStyleTableBorder , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleTableBorder" ] pub fn Gecko_Destroy_nsStyleTableBorder ( ptr : * mut nsStyleTableBorder , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleSVG" ] pub fn Gecko_Construct_Default_nsStyleSVG ( ptr : * mut nsStyleSVG , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleSVG" ] pub fn Gecko_CopyConstruct_nsStyleSVG ( ptr : * mut nsStyleSVG , other : * const nsStyleSVG , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleSVG" ] pub fn Gecko_Destroy_nsStyleSVG ( ptr : * mut nsStyleSVG , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleVariables" ] pub fn Gecko_Construct_Default_nsStyleVariables ( ptr : * mut nsStyleVariables , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleVariables" ] pub fn Gecko_CopyConstruct_nsStyleVariables ( ptr : * mut nsStyleVariables , other : * const nsStyleVariables , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleVariables" ] pub fn Gecko_Destroy_nsStyleVariables ( ptr : * mut nsStyleVariables , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleBackground" ] pub fn Gecko_Construct_Default_nsStyleBackground ( ptr : * mut nsStyleBackground , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleBackground" ] pub fn Gecko_CopyConstruct_nsStyleBackground ( ptr : * mut nsStyleBackground , other : * const nsStyleBackground , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleBackground" ] pub fn Gecko_Destroy_nsStyleBackground ( ptr : * mut nsStyleBackground , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStylePosition" ] pub fn Gecko_Construct_Default_nsStylePosition ( ptr : * mut nsStylePosition , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStylePosition" ] pub fn Gecko_CopyConstruct_nsStylePosition ( ptr : * mut nsStylePosition , other : * const nsStylePosition , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStylePosition" ] pub fn Gecko_Destroy_nsStylePosition ( ptr : * mut nsStylePosition , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleTextReset" ] pub fn Gecko_Construct_Default_nsStyleTextReset ( ptr : * mut nsStyleTextReset , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleTextReset" ] pub fn Gecko_CopyConstruct_nsStyleTextReset ( ptr : * mut nsStyleTextReset , other : * const nsStyleTextReset , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleTextReset" ] pub fn Gecko_Destroy_nsStyleTextReset ( ptr : * mut nsStyleTextReset , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleDisplay" ] pub fn Gecko_Construct_Default_nsStyleDisplay ( ptr : * mut nsStyleDisplay , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleDisplay" ] pub fn Gecko_CopyConstruct_nsStyleDisplay ( ptr : * mut nsStyleDisplay , other : * const nsStyleDisplay , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleDisplay" ] pub fn Gecko_Destroy_nsStyleDisplay ( ptr : * mut nsStyleDisplay , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleContent" ] pub fn Gecko_Construct_Default_nsStyleContent ( ptr : * mut nsStyleContent , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleContent" ] pub fn Gecko_CopyConstruct_nsStyleContent ( ptr : * mut nsStyleContent , other : * const nsStyleContent , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleContent" ] pub fn Gecko_Destroy_nsStyleContent ( ptr : * mut nsStyleContent , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleUIReset" ] pub fn Gecko_Construct_Default_nsStyleUIReset ( ptr : * mut nsStyleUIReset , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleUIReset" ] pub fn Gecko_CopyConstruct_nsStyleUIReset ( ptr : * mut nsStyleUIReset , other : * const nsStyleUIReset , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleUIReset" ] pub fn Gecko_Destroy_nsStyleUIReset ( ptr : * mut nsStyleUIReset , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleTable" ] pub fn Gecko_Construct_Default_nsStyleTable ( ptr : * mut nsStyleTable , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleTable" ] pub fn Gecko_CopyConstruct_nsStyleTable ( ptr : * mut nsStyleTable , other : * const nsStyleTable , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleTable" ] pub fn Gecko_Destroy_nsStyleTable ( ptr : * mut nsStyleTable , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleMargin" ] pub fn Gecko_Construct_Default_nsStyleMargin ( ptr : * mut nsStyleMargin , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleMargin" ] pub fn Gecko_CopyConstruct_nsStyleMargin ( ptr : * mut nsStyleMargin , other : * const nsStyleMargin , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleMargin" ] pub fn Gecko_Destroy_nsStyleMargin ( ptr : * mut nsStyleMargin , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStylePadding" ] pub fn Gecko_Construct_Default_nsStylePadding ( ptr : * mut nsStylePadding , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStylePadding" ] pub fn Gecko_CopyConstruct_nsStylePadding ( ptr : * mut nsStylePadding , other : * const nsStylePadding , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStylePadding" ] pub fn Gecko_Destroy_nsStylePadding ( ptr : * mut nsStylePadding , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleBorder" ] pub fn Gecko_Construct_Default_nsStyleBorder ( ptr : * mut nsStyleBorder , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleBorder" ] pub fn Gecko_CopyConstruct_nsStyleBorder ( ptr : * mut nsStyleBorder , other : * const nsStyleBorder , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleBorder" ] pub fn Gecko_Destroy_nsStyleBorder ( ptr : * mut nsStyleBorder , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleOutline" ] pub fn Gecko_Construct_Default_nsStyleOutline ( ptr : * mut nsStyleOutline , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleOutline" ] pub fn Gecko_CopyConstruct_nsStyleOutline ( ptr : * mut nsStyleOutline , other : * const nsStyleOutline , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleOutline" ] pub fn Gecko_Destroy_nsStyleOutline ( ptr : * mut nsStyleOutline , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleXUL" ] pub fn Gecko_Construct_Default_nsStyleXUL ( ptr : * mut nsStyleXUL , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleXUL" ] pub fn Gecko_CopyConstruct_nsStyleXUL ( ptr : * mut nsStyleXUL , other : * const nsStyleXUL , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleXUL" ] pub fn Gecko_Destroy_nsStyleXUL ( ptr : * mut nsStyleXUL , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleSVGReset" ] pub fn Gecko_Construct_Default_nsStyleSVGReset ( ptr : * mut nsStyleSVGReset , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleSVGReset" ] pub fn Gecko_CopyConstruct_nsStyleSVGReset ( ptr : * mut nsStyleSVGReset , other : * const nsStyleSVGReset , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleSVGReset" ] pub fn Gecko_Destroy_nsStyleSVGReset ( ptr : * mut nsStyleSVGReset , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleColumn" ] pub fn Gecko_Construct_Default_nsStyleColumn ( ptr : * mut nsStyleColumn , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleColumn" ] pub fn Gecko_CopyConstruct_nsStyleColumn ( ptr : * mut nsStyleColumn , other : * const nsStyleColumn , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleColumn" ] pub fn Gecko_Destroy_nsStyleColumn ( ptr : * mut nsStyleColumn , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Construct_Default_nsStyleEffects" ] pub fn Gecko_Construct_Default_nsStyleEffects ( ptr : * mut nsStyleEffects , pres_context : RawGeckoPresContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CopyConstruct_nsStyleEffects" ] pub fn Gecko_CopyConstruct_nsStyleEffects ( ptr : * mut nsStyleEffects , other : * const nsStyleEffects , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_Destroy_nsStyleEffects" ] pub fn Gecko_Destroy_nsStyleEffects ( ptr : * mut nsStyleEffects , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_RegisterProfilerThread" ] pub fn Gecko_RegisterProfilerThread ( name : * const :: std :: os :: raw :: c_char , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_UnregisterProfilerThread" ] pub fn Gecko_UnregisterProfilerThread ( ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_DocumentRule_UseForPresentation" ] pub fn Gecko_DocumentRule_UseForPresentation ( arg1 : RawGeckoPresContextBorrowed , aPattern : * const nsACString , aURLMatchingFunction : URLMatchingFunction , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_SetJemallocThreadLocalArena" ] pub fn Gecko_SetJemallocThreadLocalArena ( enabled : bool , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AddBufferToCrashReport" ] pub fn Gecko_AddBufferToCrashReport ( addr : * const :: std :: os :: raw :: c_void , len : usize , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_AnnotateCrashReport" ] pub fn Gecko_AnnotateCrashReport ( key_str : * const :: std :: os :: raw :: c_char , value_str : * const :: std :: os :: raw :: c_char , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_Element_ClearData" ] pub fn Servo_Element_ClearData ( node : RawGeckoElementBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_Element_SizeOfExcludingThisAndCVs" ] pub fn Servo_Element_SizeOfExcludingThisAndCVs ( malloc_size_of : MallocSizeOf , malloc_enclosing_size_of : MallocSizeOf , seen_ptrs : * mut SeenPtrs , node : RawGeckoElementBorrowed , ) -> usize ; } extern "C" { - # [ link_name = "\u{1}_Servo_Element_HasPrimaryComputedValues" ] pub fn Servo_Element_HasPrimaryComputedValues ( node : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_Element_GetPrimaryComputedValues" ] pub fn Servo_Element_GetPrimaryComputedValues ( node : RawGeckoElementBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_Element_HasPseudoComputedValues" ] pub fn Servo_Element_HasPseudoComputedValues ( node : RawGeckoElementBorrowed , index : usize , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_Element_GetPseudoComputedValues" ] pub fn Servo_Element_GetPseudoComputedValues ( node : RawGeckoElementBorrowed , index : usize , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_Element_IsDisplayNone" ] pub fn Servo_Element_IsDisplayNone ( element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_Element_IsPrimaryStyleReusedViaRuleNode" ] pub fn Servo_Element_IsPrimaryStyleReusedViaRuleNode ( element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheet_FromUTF8Bytes" ] pub fn Servo_StyleSheet_FromUTF8Bytes ( loader : * mut Loader , gecko_stylesheet : * mut ServoStyleSheet , data : * const u8 , data_len : usize , parsing_mode : SheetParsingMode , extra_data : * mut RawGeckoURLExtraData , line_number_offset : u32 , quirks_mode : nsCompatibility , reusable_sheets : * mut LoaderReusableStyleSheets , ) -> RawServoStyleSheetContentsStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheet_Empty" ] pub fn Servo_StyleSheet_Empty ( parsing_mode : SheetParsingMode , ) -> RawServoStyleSheetContentsStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheet_HasRules" ] pub fn Servo_StyleSheet_HasRules ( sheet : RawServoStyleSheetContentsBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheet_GetRules" ] pub fn Servo_StyleSheet_GetRules ( sheet : RawServoStyleSheetContentsBorrowed , ) -> ServoCssRulesStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheet_Clone" ] pub fn Servo_StyleSheet_Clone ( sheet : RawServoStyleSheetContentsBorrowed , reference_sheet : * const ServoStyleSheet , ) -> RawServoStyleSheetContentsStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheet_SizeOfIncludingThis" ] pub fn Servo_StyleSheet_SizeOfIncludingThis ( malloc_size_of : MallocSizeOf , malloc_enclosing_size_of : MallocSizeOf , sheet : RawServoStyleSheetContentsBorrowed , ) -> usize ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheet_GetSourceMapURL" ] pub fn Servo_StyleSheet_GetSourceMapURL ( sheet : RawServoStyleSheetContentsBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheet_GetSourceURL" ] pub fn Servo_StyleSheet_GetSourceURL ( sheet : RawServoStyleSheetContentsBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSheet_GetOrigin" ] pub fn Servo_StyleSheet_GetOrigin ( sheet : RawServoStyleSheetContentsBorrowed , ) -> u8 ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_Init" ] pub fn Servo_StyleSet_Init ( pres_context : RawGeckoPresContextOwned , ) -> * mut RawServoStyleSet ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_RebuildCachedData" ] pub fn Servo_StyleSet_RebuildCachedData ( set : RawServoStyleSetBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_MediumFeaturesChanged" ] pub fn Servo_StyleSet_MediumFeaturesChanged ( set : RawServoStyleSetBorrowed , viewport_units_used : * mut bool , ) -> u8 ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_SetDevice" ] pub fn Servo_StyleSet_SetDevice ( set : RawServoStyleSetBorrowed , pres_context : RawGeckoPresContextOwned , ) -> u8 ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_CompatModeChanged" ] pub fn Servo_StyleSet_CompatModeChanged ( raw_data : RawServoStyleSetBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_AppendStyleSheet" ] pub fn Servo_StyleSet_AppendStyleSheet ( set : RawServoStyleSetBorrowed , gecko_sheet : * const ServoStyleSheet , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_PrependStyleSheet" ] pub fn Servo_StyleSet_PrependStyleSheet ( set : RawServoStyleSetBorrowed , gecko_sheet : * const ServoStyleSheet , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_RemoveStyleSheet" ] pub fn Servo_StyleSet_RemoveStyleSheet ( set : RawServoStyleSetBorrowed , gecko_sheet : * const ServoStyleSheet , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_InsertStyleSheetBefore" ] pub fn Servo_StyleSet_InsertStyleSheetBefore ( set : RawServoStyleSetBorrowed , gecko_sheet : * const ServoStyleSheet , before : * const ServoStyleSheet , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_FlushStyleSheets" ] pub fn Servo_StyleSet_FlushStyleSheets ( set : RawServoStyleSetBorrowed , doc_elem : RawGeckoElementBorrowedOrNull , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_NoteStyleSheetsChanged" ] pub fn Servo_StyleSet_NoteStyleSheetsChanged ( set : RawServoStyleSetBorrowed , author_style_disabled : bool , changed_origins : OriginFlags , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_GetKeyframesForName" ] pub fn Servo_StyleSet_GetKeyframesForName ( set : RawServoStyleSetBorrowed , name : * mut nsAtom , timing_function : nsTimingFunctionBorrowed , keyframe_list : RawGeckoKeyframeListBorrowedMut , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_GetFontFaceRules" ] pub fn Servo_StyleSet_GetFontFaceRules ( set : RawServoStyleSetBorrowed , list : RawGeckoFontFaceRuleListBorrowedMut , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_GetCounterStyleRule" ] pub fn Servo_StyleSet_GetCounterStyleRule ( set : RawServoStyleSetBorrowed , name : * mut nsAtom , ) -> * mut nsCSSCounterStyleRule ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_BuildFontFeatureValueSet" ] pub fn Servo_StyleSet_BuildFontFeatureValueSet ( set : RawServoStyleSetBorrowed , ) -> * mut gfxFontFeatureValueSet ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_ResolveForDeclarations" ] pub fn Servo_StyleSet_ResolveForDeclarations ( set : RawServoStyleSetBorrowed , parent_style : ServoStyleContextBorrowedOrNull , declarations : RawServoDeclarationBlockBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_SelectorList_Parse" ] pub fn Servo_SelectorList_Parse ( selector_list : * const nsACString , ) -> * mut RawServoSelectorList ; } extern "C" { - # [ link_name = "\u{1}_Servo_SourceSizeList_Parse" ] pub fn Servo_SourceSizeList_Parse ( value : * const nsACString , ) -> * mut RawServoSourceSizeList ; } extern "C" { - # [ link_name = "\u{1}_Servo_SourceSizeList_Evaluate" ] pub fn Servo_SourceSizeList_Evaluate ( set : RawServoStyleSetBorrowed , arg1 : RawServoSourceSizeListBorrowedOrNull , ) -> i32 ; } extern "C" { - # [ link_name = "\u{1}_Servo_SelectorList_Matches" ] pub fn Servo_SelectorList_Matches ( arg1 : RawGeckoElementBorrowed , arg2 : RawServoSelectorListBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_SelectorList_Closest" ] pub fn Servo_SelectorList_Closest ( arg1 : RawGeckoElementBorrowed , arg2 : RawServoSelectorListBorrowed , ) -> * const RawGeckoElement ; } extern "C" { - # [ link_name = "\u{1}_Servo_SelectorList_QueryFirst" ] pub fn Servo_SelectorList_QueryFirst ( arg1 : RawGeckoNodeBorrowed , arg2 : RawServoSelectorListBorrowed , may_use_invalidation : bool , ) -> * const RawGeckoElement ; } extern "C" { - # [ link_name = "\u{1}_Servo_SelectorList_QueryAll" ] pub fn Servo_SelectorList_QueryAll ( arg1 : RawGeckoNodeBorrowed , arg2 : RawServoSelectorListBorrowed , content_list : * mut nsSimpleContentList , may_use_invalidation : bool , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_AddSizeOfExcludingThis" ] pub fn Servo_StyleSet_AddSizeOfExcludingThis ( malloc_size_of : MallocSizeOf , malloc_enclosing_size_of : MallocSizeOf , sizes : * mut ServoStyleSetSizes , set : RawServoStyleSetBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_UACache_AddSizeOf" ] pub fn Servo_UACache_AddSizeOf ( malloc_size_of : MallocSizeOf , malloc_enclosing_size_of : MallocSizeOf , sizes : * mut ServoStyleSetSizes , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleContext_AddRef" ] pub fn Servo_StyleContext_AddRef ( ctx : ServoStyleContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleContext_Release" ] pub fn Servo_StyleContext_Release ( ctx : ServoStyleContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_MightHaveAttributeDependency" ] pub fn Servo_StyleSet_MightHaveAttributeDependency ( set : RawServoStyleSetBorrowed , element : RawGeckoElementBorrowed , local_name : * mut nsAtom , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_HasStateDependency" ] pub fn Servo_StyleSet_HasStateDependency ( set : RawServoStyleSetBorrowed , element : RawGeckoElementBorrowed , state : u64 , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_HasDocumentStateDependency" ] pub fn Servo_StyleSet_HasDocumentStateDependency ( set : RawServoStyleSetBorrowed , state : u64 , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_ListTypes" ] pub fn Servo_CssRules_ListTypes ( rules : ServoCssRulesBorrowed , result : nsTArrayBorrowed_uintptr_t , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_InsertRule" ] pub fn Servo_CssRules_InsertRule ( rules : ServoCssRulesBorrowed , sheet : RawServoStyleSheetContentsBorrowed , rule : * const nsACString , index : u32 , nested : bool , loader : * mut Loader , gecko_stylesheet : * mut ServoStyleSheet , rule_type : * mut u16 , ) -> nsresult ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_DeleteRule" ] pub fn Servo_CssRules_DeleteRule ( rules : ServoCssRulesBorrowed , index : u32 , ) -> nsresult ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetStyleRuleAt" ] pub fn Servo_CssRules_GetStyleRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoStyleRuleStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_Debug" ] pub fn Servo_StyleRule_Debug ( rule : RawServoStyleRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_GetCssText" ] pub fn Servo_StyleRule_GetCssText ( rule : RawServoStyleRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetImportRuleAt" ] pub fn Servo_CssRules_GetImportRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoImportRuleStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_ImportRule_Debug" ] pub fn Servo_ImportRule_Debug ( rule : RawServoImportRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_ImportRule_GetCssText" ] pub fn Servo_ImportRule_GetCssText ( rule : RawServoImportRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_Keyframe_Debug" ] pub fn Servo_Keyframe_Debug ( rule : RawServoKeyframeBorrowed , result : * mut nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_Keyframe_GetCssText" ] pub fn Servo_Keyframe_GetCssText ( rule : RawServoKeyframeBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetKeyframesRuleAt" ] pub fn Servo_CssRules_GetKeyframesRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoKeyframesRuleStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_Debug" ] pub fn Servo_KeyframesRule_Debug ( rule : RawServoKeyframesRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_GetCssText" ] pub fn Servo_KeyframesRule_GetCssText ( rule : RawServoKeyframesRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetMediaRuleAt" ] pub fn Servo_CssRules_GetMediaRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoMediaRuleStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaRule_Debug" ] pub fn Servo_MediaRule_Debug ( rule : RawServoMediaRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaRule_GetCssText" ] pub fn Servo_MediaRule_GetCssText ( rule : RawServoMediaRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaRule_GetRules" ] pub fn Servo_MediaRule_GetRules ( rule : RawServoMediaRuleBorrowed , ) -> ServoCssRulesStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetNamespaceRuleAt" ] pub fn Servo_CssRules_GetNamespaceRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoNamespaceRuleStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_NamespaceRule_Debug" ] pub fn Servo_NamespaceRule_Debug ( rule : RawServoNamespaceRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_NamespaceRule_GetCssText" ] pub fn Servo_NamespaceRule_GetCssText ( rule : RawServoNamespaceRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetPageRuleAt" ] pub fn Servo_CssRules_GetPageRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoPageRuleStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_PageRule_Debug" ] pub fn Servo_PageRule_Debug ( rule : RawServoPageRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_PageRule_GetCssText" ] pub fn Servo_PageRule_GetCssText ( rule : RawServoPageRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetSupportsRuleAt" ] pub fn Servo_CssRules_GetSupportsRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoSupportsRuleStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_SupportsRule_Debug" ] pub fn Servo_SupportsRule_Debug ( rule : RawServoSupportsRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_SupportsRule_GetCssText" ] pub fn Servo_SupportsRule_GetCssText ( rule : RawServoSupportsRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_SupportsRule_GetRules" ] pub fn Servo_SupportsRule_GetRules ( rule : RawServoSupportsRuleBorrowed , ) -> ServoCssRulesStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetDocumentRuleAt" ] pub fn Servo_CssRules_GetDocumentRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoDocumentRuleStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_DocumentRule_Debug" ] pub fn Servo_DocumentRule_Debug ( rule : RawServoDocumentRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DocumentRule_GetCssText" ] pub fn Servo_DocumentRule_GetCssText ( rule : RawServoDocumentRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DocumentRule_GetRules" ] pub fn Servo_DocumentRule_GetRules ( rule : RawServoDocumentRuleBorrowed , ) -> ServoCssRulesStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetFontFeatureValuesRuleAt" ] pub fn Servo_CssRules_GetFontFeatureValuesRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoFontFeatureValuesRuleStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_Debug" ] pub fn Servo_FontFeatureValuesRule_Debug ( rule : RawServoFontFeatureValuesRuleBorrowed , result : * mut nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_GetCssText" ] pub fn Servo_FontFeatureValuesRule_GetCssText ( rule : RawServoFontFeatureValuesRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetFontFaceRuleAt" ] pub fn Servo_CssRules_GetFontFaceRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , ) -> * mut nsCSSFontFaceRule ; } extern "C" { - # [ link_name = "\u{1}_Servo_CssRules_GetCounterStyleRuleAt" ] pub fn Servo_CssRules_GetCounterStyleRuleAt ( rules : ServoCssRulesBorrowed , index : u32 , ) -> * mut nsCSSCounterStyleRule ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_GetStyle" ] pub fn Servo_StyleRule_GetStyle ( rule : RawServoStyleRuleBorrowed , ) -> RawServoDeclarationBlockStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_SetStyle" ] pub fn Servo_StyleRule_SetStyle ( rule : RawServoStyleRuleBorrowed , declarations : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_GetSelectorText" ] pub fn Servo_StyleRule_GetSelectorText ( rule : RawServoStyleRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_GetSelectorTextAtIndex" ] pub fn Servo_StyleRule_GetSelectorTextAtIndex ( rule : RawServoStyleRuleBorrowed , index : u32 , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_GetSpecificityAtIndex" ] pub fn Servo_StyleRule_GetSpecificityAtIndex ( rule : RawServoStyleRuleBorrowed , index : u32 , specificity : * mut u64 , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_GetSelectorCount" ] pub fn Servo_StyleRule_GetSelectorCount ( rule : RawServoStyleRuleBorrowed , count : * mut u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleRule_SelectorMatchesElement" ] pub fn Servo_StyleRule_SelectorMatchesElement ( arg1 : RawServoStyleRuleBorrowed , arg2 : RawGeckoElementBorrowed , index : u32 , pseudo_type : CSSPseudoElementType , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_ImportRule_GetHref" ] pub fn Servo_ImportRule_GetHref ( rule : RawServoImportRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_ImportRule_GetSheet" ] pub fn Servo_ImportRule_GetSheet ( rule : RawServoImportRuleBorrowed , ) -> * const ServoStyleSheet ; } extern "C" { - # [ link_name = "\u{1}_Servo_Keyframe_GetKeyText" ] pub fn Servo_Keyframe_GetKeyText ( keyframe : RawServoKeyframeBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_Keyframe_SetKeyText" ] pub fn Servo_Keyframe_SetKeyText ( keyframe : RawServoKeyframeBorrowed , text : * const nsACString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_Keyframe_GetStyle" ] pub fn Servo_Keyframe_GetStyle ( keyframe : RawServoKeyframeBorrowed , ) -> RawServoDeclarationBlockStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_Keyframe_SetStyle" ] pub fn Servo_Keyframe_SetStyle ( keyframe : RawServoKeyframeBorrowed , declarations : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_GetName" ] pub fn Servo_KeyframesRule_GetName ( rule : RawServoKeyframesRuleBorrowed , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_SetName" ] pub fn Servo_KeyframesRule_SetName ( rule : RawServoKeyframesRuleBorrowed , name : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_GetCount" ] pub fn Servo_KeyframesRule_GetCount ( rule : RawServoKeyframesRuleBorrowed , ) -> u32 ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_GetKeyframeAt" ] pub fn Servo_KeyframesRule_GetKeyframeAt ( rule : RawServoKeyframesRuleBorrowed , index : u32 , line : * mut u32 , column : * mut u32 , ) -> RawServoKeyframeStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_FindRule" ] pub fn Servo_KeyframesRule_FindRule ( rule : RawServoKeyframesRuleBorrowed , key : * const nsACString , ) -> u32 ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_AppendRule" ] pub fn Servo_KeyframesRule_AppendRule ( rule : RawServoKeyframesRuleBorrowed , sheet : RawServoStyleSheetContentsBorrowed , css : * const nsACString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_KeyframesRule_DeleteRule" ] pub fn Servo_KeyframesRule_DeleteRule ( rule : RawServoKeyframesRuleBorrowed , index : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaRule_GetMedia" ] pub fn Servo_MediaRule_GetMedia ( rule : RawServoMediaRuleBorrowed , ) -> RawServoMediaListStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_NamespaceRule_GetPrefix" ] pub fn Servo_NamespaceRule_GetPrefix ( rule : RawServoNamespaceRuleBorrowed , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Servo_NamespaceRule_GetURI" ] pub fn Servo_NamespaceRule_GetURI ( rule : RawServoNamespaceRuleBorrowed , ) -> * mut nsAtom ; } extern "C" { - # [ link_name = "\u{1}_Servo_PageRule_GetStyle" ] pub fn Servo_PageRule_GetStyle ( rule : RawServoPageRuleBorrowed , ) -> RawServoDeclarationBlockStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_PageRule_SetStyle" ] pub fn Servo_PageRule_SetStyle ( rule : RawServoPageRuleBorrowed , declarations : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_SupportsRule_GetConditionText" ] pub fn Servo_SupportsRule_GetConditionText ( rule : RawServoSupportsRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DocumentRule_GetConditionText" ] pub fn Servo_DocumentRule_GetConditionText ( rule : RawServoDocumentRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_GetFontFamily" ] pub fn Servo_FontFeatureValuesRule_GetFontFamily ( rule : RawServoFontFeatureValuesRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_FontFeatureValuesRule_GetValueText" ] pub fn Servo_FontFeatureValuesRule_GetValueText ( rule : RawServoFontFeatureValuesRuleBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_ParseProperty" ] pub fn Servo_ParseProperty ( property : nsCSSPropertyID , value : * const nsACString , data : * mut RawGeckoURLExtraData , parsing_mode : ParsingMode , quirks_mode : nsCompatibility , loader : * mut Loader , ) -> RawServoDeclarationBlockStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_ParseEasing" ] pub fn Servo_ParseEasing ( easing : * const nsAString , data : * mut RawGeckoURLExtraData , output : nsTimingFunctionBorrowedMut , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_GetComputedKeyframeValues" ] pub fn Servo_GetComputedKeyframeValues ( keyframes : RawGeckoKeyframeListBorrowed , element : RawGeckoElementBorrowed , style : ServoStyleContextBorrowed , set : RawServoStyleSetBorrowed , result : RawGeckoComputedKeyframeValuesListBorrowedMut , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_ComputedValues_ExtractAnimationValue" ] pub fn Servo_ComputedValues_ExtractAnimationValue ( computed_values : ServoStyleContextBorrowed , property : nsCSSPropertyID , ) -> RawServoAnimationValueStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_ComputedValues_SpecifiesAnimationsOrTransitions" ] pub fn Servo_ComputedValues_SpecifiesAnimationsOrTransitions ( computed_values : ServoStyleContextBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_Property_IsAnimatable" ] pub fn Servo_Property_IsAnimatable ( property : nsCSSPropertyID , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_Property_IsTransitionable" ] pub fn Servo_Property_IsTransitionable ( property : nsCSSPropertyID , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_Property_IsDiscreteAnimatable" ] pub fn Servo_Property_IsDiscreteAnimatable ( property : nsCSSPropertyID , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_GetProperties_Overriding_Animation" ] pub fn Servo_GetProperties_Overriding_Animation ( arg1 : RawGeckoElementBorrowed , arg2 : RawGeckoCSSPropertyIDListBorrowed , arg3 : nsCSSPropertyIDSetBorrowedMut , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MatrixTransform_Operate" ] pub fn Servo_MatrixTransform_Operate ( matrix_operator : MatrixTransformOperator , from : * const RawGeckoGfxMatrix4x4 , to : * const RawGeckoGfxMatrix4x4 , progress : f64 , result : * mut RawGeckoGfxMatrix4x4 , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_GetAnimationValues" ] pub fn Servo_GetAnimationValues ( declarations : RawServoDeclarationBlockBorrowed , element : RawGeckoElementBorrowed , style : ServoStyleContextBorrowed , style_set : RawServoStyleSetBorrowed , animation_values : RawGeckoServoAnimationValueListBorrowedMut , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValues_Interpolate" ] pub fn Servo_AnimationValues_Interpolate ( from : RawServoAnimationValueBorrowed , to : RawServoAnimationValueBorrowed , progress : f64 , ) -> RawServoAnimationValueStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValues_IsInterpolable" ] pub fn Servo_AnimationValues_IsInterpolable ( from : RawServoAnimationValueBorrowed , to : RawServoAnimationValueBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValues_Add" ] pub fn Servo_AnimationValues_Add ( a : RawServoAnimationValueBorrowed , b : RawServoAnimationValueBorrowed , ) -> RawServoAnimationValueStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValues_Accumulate" ] pub fn Servo_AnimationValues_Accumulate ( a : RawServoAnimationValueBorrowed , b : RawServoAnimationValueBorrowed , count : u64 , ) -> RawServoAnimationValueStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValues_GetZeroValue" ] pub fn Servo_AnimationValues_GetZeroValue ( value_to_match : RawServoAnimationValueBorrowed , ) -> RawServoAnimationValueStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValues_ComputeDistance" ] pub fn Servo_AnimationValues_ComputeDistance ( from : RawServoAnimationValueBorrowed , to : RawServoAnimationValueBorrowed , ) -> f64 ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValue_Serialize" ] pub fn Servo_AnimationValue_Serialize ( value : RawServoAnimationValueBorrowed , property : nsCSSPropertyID , buffer : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_Shorthand_AnimationValues_Serialize" ] pub fn Servo_Shorthand_AnimationValues_Serialize ( shorthand_property : nsCSSPropertyID , values : RawGeckoServoAnimationValueListBorrowed , buffer : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValue_GetOpacity" ] pub fn Servo_AnimationValue_GetOpacity ( value : RawServoAnimationValueBorrowed , ) -> f32 ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValue_Opacity" ] pub fn Servo_AnimationValue_Opacity ( arg1 : f32 , ) -> RawServoAnimationValueStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValue_GetTransform" ] pub fn Servo_AnimationValue_GetTransform ( value : RawServoAnimationValueBorrowed , list : * mut RefPtr < nsCSSValueSharedList > , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValue_Transform" ] pub fn Servo_AnimationValue_Transform ( list : * const nsCSSValueSharedList , ) -> RawServoAnimationValueStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValue_DeepEqual" ] pub fn Servo_AnimationValue_DeepEqual ( arg1 : RawServoAnimationValueBorrowed , arg2 : RawServoAnimationValueBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValue_Uncompute" ] pub fn Servo_AnimationValue_Uncompute ( value : RawServoAnimationValueBorrowed , ) -> RawServoDeclarationBlockStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationValue_Compute" ] pub fn Servo_AnimationValue_Compute ( element : RawGeckoElementBorrowed , declarations : RawServoDeclarationBlockBorrowed , style : ServoStyleContextBorrowed , raw_data : RawServoStyleSetBorrowed , ) -> RawServoAnimationValueStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_ParseStyleAttribute" ] pub fn Servo_ParseStyleAttribute ( data : * const nsACString , extra_data : * mut RawGeckoURLExtraData , quirks_mode : nsCompatibility , loader : * mut Loader , ) -> RawServoDeclarationBlockStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_CreateEmpty" ] pub fn Servo_DeclarationBlock_CreateEmpty ( ) -> RawServoDeclarationBlockStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_Clone" ] pub fn Servo_DeclarationBlock_Clone ( declarations : RawServoDeclarationBlockBorrowed , ) -> RawServoDeclarationBlockStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_Equals" ] pub fn Servo_DeclarationBlock_Equals ( a : RawServoDeclarationBlockBorrowed , b : RawServoDeclarationBlockBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_GetCssText" ] pub fn Servo_DeclarationBlock_GetCssText ( declarations : RawServoDeclarationBlockBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SerializeOneValue" ] pub fn Servo_DeclarationBlock_SerializeOneValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , buffer : * mut nsAString , computed_values : ServoStyleContextBorrowedOrNull , custom_properties : RawServoDeclarationBlockBorrowedOrNull , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_Count" ] pub fn Servo_DeclarationBlock_Count ( declarations : RawServoDeclarationBlockBorrowed , ) -> u32 ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_GetNthProperty" ] pub fn Servo_DeclarationBlock_GetNthProperty ( declarations : RawServoDeclarationBlockBorrowed , index : u32 , result : * mut nsAString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_GetPropertyValue" ] pub fn Servo_DeclarationBlock_GetPropertyValue ( declarations : RawServoDeclarationBlockBorrowed , property : * const nsACString , value : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_GetPropertyValueById" ] pub fn Servo_DeclarationBlock_GetPropertyValueById ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_GetPropertyIsImportant" ] pub fn Servo_DeclarationBlock_GetPropertyIsImportant ( declarations : RawServoDeclarationBlockBorrowed , property : * const nsACString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetProperty" ] pub fn Servo_DeclarationBlock_SetProperty ( declarations : RawServoDeclarationBlockBorrowed , property : * const nsACString , value : * const nsACString , is_important : bool , data : * mut RawGeckoURLExtraData , parsing_mode : ParsingMode , quirks_mode : nsCompatibility , loader : * mut Loader , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetPropertyById" ] pub fn Servo_DeclarationBlock_SetPropertyById ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : * const nsACString , is_important : bool , data : * mut RawGeckoURLExtraData , parsing_mode : ParsingMode , quirks_mode : nsCompatibility , loader : * mut Loader , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_RemoveProperty" ] pub fn Servo_DeclarationBlock_RemoveProperty ( declarations : RawServoDeclarationBlockBorrowed , property : * const nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_RemovePropertyById" ] pub fn Servo_DeclarationBlock_RemovePropertyById ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_HasCSSWideKeyword" ] pub fn Servo_DeclarationBlock_HasCSSWideKeyword ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_AnimationCompose" ] pub fn Servo_AnimationCompose ( animation_values : RawServoAnimationValueMapBorrowedMut , base_values : RawServoAnimationValueTableBorrowed , property : nsCSSPropertyID , animation_segment : RawGeckoAnimationPropertySegmentBorrowed , last_segment : RawGeckoAnimationPropertySegmentBorrowed , computed_timing : RawGeckoComputedTimingBorrowed , iter_composite : IterationCompositeOperation , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_ComposeAnimationSegment" ] pub fn Servo_ComposeAnimationSegment ( animation_segment : RawGeckoAnimationPropertySegmentBorrowed , underlying_value : RawServoAnimationValueBorrowedOrNull , last_value : RawServoAnimationValueBorrowedOrNull , iter_composite : IterationCompositeOperation , progress : f64 , current_iteration : u64 , ) -> RawServoAnimationValueStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_PropertyIsSet" ] pub fn Servo_DeclarationBlock_PropertyIsSet ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetIdentStringValue" ] pub fn Servo_DeclarationBlock_SetIdentStringValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : * mut nsAtom , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetKeywordValue" ] pub fn Servo_DeclarationBlock_SetKeywordValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : i32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetIntValue" ] pub fn Servo_DeclarationBlock_SetIntValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : i32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetPixelValue" ] pub fn Servo_DeclarationBlock_SetPixelValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : f32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetLengthValue" ] pub fn Servo_DeclarationBlock_SetLengthValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : f32 , unit : nsCSSUnit , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetNumberValue" ] pub fn Servo_DeclarationBlock_SetNumberValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : f32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetPercentValue" ] pub fn Servo_DeclarationBlock_SetPercentValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : f32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetAutoValue" ] pub fn Servo_DeclarationBlock_SetAutoValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetCurrentColor" ] pub fn Servo_DeclarationBlock_SetCurrentColor ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetColorValue" ] pub fn Servo_DeclarationBlock_SetColorValue ( declarations : RawServoDeclarationBlockBorrowed , property : nsCSSPropertyID , value : nscolor , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetFontFamily" ] pub fn Servo_DeclarationBlock_SetFontFamily ( declarations : RawServoDeclarationBlockBorrowed , value : * const nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetTextDecorationColorOverride" ] pub fn Servo_DeclarationBlock_SetTextDecorationColorOverride ( declarations : RawServoDeclarationBlockBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_DeclarationBlock_SetBackgroundImage" ] pub fn Servo_DeclarationBlock_SetBackgroundImage ( declarations : RawServoDeclarationBlockBorrowed , value : * const nsAString , extra_data : * mut RawGeckoURLExtraData , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_Create" ] pub fn Servo_MediaList_Create ( ) -> RawServoMediaListStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_DeepClone" ] pub fn Servo_MediaList_DeepClone ( list : RawServoMediaListBorrowed , ) -> RawServoMediaListStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_Matches" ] pub fn Servo_MediaList_Matches ( list : RawServoMediaListBorrowed , set : RawServoStyleSetBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_GetText" ] pub fn Servo_MediaList_GetText ( list : RawServoMediaListBorrowed , result : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_SetText" ] pub fn Servo_MediaList_SetText ( list : RawServoMediaListBorrowed , text : * const nsACString , aCallerType : CallerType , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_GetLength" ] pub fn Servo_MediaList_GetLength ( list : RawServoMediaListBorrowed , ) -> u32 ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_GetMediumAt" ] pub fn Servo_MediaList_GetMediumAt ( list : RawServoMediaListBorrowed , index : u32 , result : * mut nsAString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_AppendMedium" ] pub fn Servo_MediaList_AppendMedium ( list : RawServoMediaListBorrowed , new_medium : * const nsACString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_MediaList_DeleteMedium" ] pub fn Servo_MediaList_DeleteMedium ( list : RawServoMediaListBorrowed , old_medium : * const nsACString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_CSSSupports2" ] pub fn Servo_CSSSupports2 ( name : * const nsACString , value : * const nsACString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_CSSSupports" ] pub fn Servo_CSSSupports ( cond : * const nsACString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_ComputedValues_GetForAnonymousBox" ] pub fn Servo_ComputedValues_GetForAnonymousBox ( parent_style_or_null : ServoStyleContextBorrowedOrNull , pseudo_tag : * mut nsAtom , set : RawServoStyleSetBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_ComputedValues_Inherit" ] pub fn Servo_ComputedValues_Inherit ( set : RawServoStyleSetBorrowed , pseudo_tag : * mut nsAtom , parent_style : ServoStyleContextBorrowedOrNull , target : InheritTarget , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_ComputedValues_GetStyleBits" ] pub fn Servo_ComputedValues_GetStyleBits ( values : ServoStyleContextBorrowed , ) -> u64 ; } extern "C" { - # [ link_name = "\u{1}_Servo_ComputedValues_EqualCustomProperties" ] pub fn Servo_ComputedValues_EqualCustomProperties ( first : ServoComputedDataBorrowed , second : ServoComputedDataBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_ComputedValues_GetStyleRuleList" ] pub fn Servo_ComputedValues_GetStyleRuleList ( values : ServoStyleContextBorrowed , rules : RawGeckoServoStyleRuleListBorrowedMut , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_Initialize" ] pub fn Servo_Initialize ( dummy_url_data : * mut RawGeckoURLExtraData , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_InitializeCooperativeThread" ] pub fn Servo_InitializeCooperativeThread ( ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_Shutdown" ] pub fn Servo_Shutdown ( ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_NoteExplicitHints" ] pub fn Servo_NoteExplicitHints ( element : RawGeckoElementBorrowed , restyle_hint : nsRestyleHint , change_hint : nsChangeHint , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_TakeChangeHint" ] pub fn Servo_TakeChangeHint ( element : RawGeckoElementBorrowed , was_restyled : * mut bool , ) -> u32 ; } extern "C" { - # [ link_name = "\u{1}_Servo_ResolveStyle" ] pub fn Servo_ResolveStyle ( element : RawGeckoElementBorrowed , set : RawServoStyleSetBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_ResolvePseudoStyle" ] pub fn Servo_ResolvePseudoStyle ( element : RawGeckoElementBorrowed , pseudo_type : CSSPseudoElementType , is_probe : bool , inherited_style : ServoStyleContextBorrowedOrNull , set : RawServoStyleSetBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_ComputedValues_ResolveXULTreePseudoStyle" ] pub fn Servo_ComputedValues_ResolveXULTreePseudoStyle ( element : RawGeckoElementBorrowed , pseudo_tag : * mut nsAtom , inherited_style : ServoStyleContextBorrowed , input_word : * const AtomArray , set : RawServoStyleSetBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_SetExplicitStyle" ] pub fn Servo_SetExplicitStyle ( element : RawGeckoElementBorrowed , primary_style : ServoStyleContextBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_HasAuthorSpecifiedRules" ] pub fn Servo_HasAuthorSpecifiedRules ( style : ServoStyleContextBorrowed , element : RawGeckoElementBorrowed , pseudo_type : CSSPseudoElementType , rule_type_mask : u32 , author_colors_allowed : bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_ResolveStyleLazily" ] pub fn Servo_ResolveStyleLazily ( element : RawGeckoElementBorrowed , pseudo_type : CSSPseudoElementType , rule_inclusion : StyleRuleInclusion , snapshots : * const ServoElementSnapshotTable , set : RawServoStyleSetBorrowed , ignore_existing_styles : bool , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_ReparentStyle" ] pub fn Servo_ReparentStyle ( style_to_reparent : ServoStyleContextBorrowed , parent_style : ServoStyleContextBorrowed , parent_style_ignoring_first_line : ServoStyleContextBorrowed , layout_parent_style : ServoStyleContextBorrowed , element : RawGeckoElementBorrowedOrNull , set : RawServoStyleSetBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_TraverseSubtree" ] pub fn Servo_TraverseSubtree ( root : RawGeckoElementBorrowed , set : RawServoStyleSetBorrowed , snapshots : * const ServoElementSnapshotTable , flags : ServoTraversalFlags , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_AssertTreeIsClean" ] pub fn Servo_AssertTreeIsClean ( root : RawGeckoElementBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_IsWorkerThread" ] pub fn Servo_IsWorkerThread ( ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_MaybeGCRuleTree" ] pub fn Servo_MaybeGCRuleTree ( set : RawServoStyleSetBorrowed , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_GetBaseComputedValuesForElement" ] pub fn Servo_StyleSet_GetBaseComputedValuesForElement ( set : RawServoStyleSetBorrowed , element : RawGeckoElementBorrowed , existing_style : ServoStyleContextBorrowed , snapshots : * const ServoElementSnapshotTable , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_StyleSet_GetComputedValuesByAddingAnimation" ] pub fn Servo_StyleSet_GetComputedValuesByAddingAnimation ( set : RawServoStyleSetBorrowed , element : RawGeckoElementBorrowed , existing_style : ServoStyleContextBorrowed , snapshots : * const ServoElementSnapshotTable , animation : RawServoAnimationValueBorrowed , ) -> ServoStyleContextStrong ; } extern "C" { - # [ link_name = "\u{1}_Servo_SerializeFontValueForCanvas" ] pub fn Servo_SerializeFontValueForCanvas ( declarations : RawServoDeclarationBlockBorrowed , buffer : * mut nsAString , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_GetCustomPropertyValue" ] pub fn Servo_GetCustomPropertyValue ( computed_values : ServoStyleContextBorrowed , name : * const nsAString , value : * mut nsAString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_GetCustomPropertiesCount" ] pub fn Servo_GetCustomPropertiesCount ( computed_values : ServoStyleContextBorrowed , ) -> u32 ; } extern "C" { - # [ link_name = "\u{1}_Servo_GetCustomPropertyNameAt" ] pub fn Servo_GetCustomPropertyNameAt ( arg1 : ServoStyleContextBorrowed , index : u32 , name : * mut nsAString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_ProcessInvalidations" ] pub fn Servo_ProcessInvalidations ( set : RawServoStyleSetBorrowed , element : RawGeckoElementBorrowed , snapshots : * const ServoElementSnapshotTable , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_HasPendingRestyleAncestor" ] pub fn Servo_HasPendingRestyleAncestor ( element : RawGeckoElementBorrowed , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_GetArcStringData" ] pub fn Servo_GetArcStringData ( arg1 : * const RustString , chars : * mut * const u8 , len : * mut u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_ReleaseArcStringData" ] pub fn Servo_ReleaseArcStringData ( string : * const ServoRawOffsetArc < RustString > , ) ; } extern "C" { - # [ link_name = "\u{1}_Servo_CloneArcStringData" ] pub fn Servo_CloneArcStringData ( string : * const ServoRawOffsetArc < RustString > , ) -> ServoRawOffsetArc < RustString > ; } extern "C" { - # [ link_name = "\u{1}_Servo_IsValidCSSColor" ] pub fn Servo_IsValidCSSColor ( value : * const nsAString , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_ComputeColor" ] pub fn Servo_ComputeColor ( set : RawServoStyleSetBorrowedOrNull , current_color : nscolor , value : * const nsAString , result_color : * mut nscolor , was_current_color : * mut bool , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Servo_ParseIntersectionObserverRootMargin" ] pub fn Servo_ParseIntersectionObserverRootMargin ( value : * const nsAString , result : * mut nsCSSRect , ) -> bool ; } extern "C" { - # [ link_name = "\u{1}_Gecko_CreateCSSErrorReporter" ] pub fn Gecko_CreateCSSErrorReporter ( sheet : * mut ServoStyleSheet , loader : * mut Loader , uri : * mut nsIURI , ) -> * mut ErrorReporter ; } extern "C" { - # [ link_name = "\u{1}_Gecko_DestroyCSSErrorReporter" ] pub fn Gecko_DestroyCSSErrorReporter ( reporter : * mut ErrorReporter , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ReportUnexpectedCSSError" ] pub fn Gecko_ReportUnexpectedCSSError ( reporter : * mut ErrorReporter , message : * const :: std :: os :: raw :: c_char , param : * const :: std :: os :: raw :: c_char , paramLen : u32 , prefix : * const :: std :: os :: raw :: c_char , prefixParam : * const :: std :: os :: raw :: c_char , prefixParamLen : u32 , suffix : * const :: std :: os :: raw :: c_char , source : * const :: std :: os :: raw :: c_char , sourceLen : u32 , lineNumber : u32 , colNumber : u32 , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_ContentList_AppendAll" ] pub fn Gecko_ContentList_AppendAll ( aContentList : * mut nsSimpleContentList , aElements : * mut * const RawGeckoElement , aLength : usize , ) ; } extern "C" { - # [ link_name = "\u{1}_Gecko_GetElementsWithId" ] pub fn Gecko_GetElementsWithId ( aDocument : * const nsIDocument , aId : * mut nsAtom , ) -> * const nsTArray < * mut Element > ; -} \ No newline at end of file +} diff --git a/servo/components/style/gecko/generated/structs.rs b/servo/components/style/gecko/generated/structs.rs index 1abf240f9081..e20f8c0bb0ae 100644 --- a/servo/components/style/gecko/generated/structs.rs +++ b/servo/components/style/gecko/generated/structs.rs @@ -17,10 +17,7 @@ pub type ServoComputedValueFlags = ::properties::computed_value_flags::ComputedV pub type ServoRawOffsetArc = ::servo_arc::RawOffsetArc; pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<::properties::ComputedValues>; -# [ allow ( non_snake_case , non_camel_case_types , non_upper_case_globals ) ] pub mod root { # [ repr ( C ) ] pub struct __BindgenUnionField < T > ( :: std :: marker :: PhantomData < T > ) ; impl < T > __BindgenUnionField < T > { # [ inline ] pub fn new ( ) -> Self { __BindgenUnionField ( :: std :: marker :: PhantomData ) } # [ inline ] pub unsafe fn as_ref ( & self ) -> & T { :: std :: mem :: transmute ( self ) } # [ inline ] pub unsafe fn as_mut ( & mut self ) -> & mut T { :: std :: mem :: transmute ( self ) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [ inline ] fn default ( ) -> Self { Self :: new ( ) } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [ inline ] fn clone ( & self ) -> Self { Self :: new ( ) } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter ) -> :: std :: fmt :: Result { fmt . write_str ( "__BindgenUnionField" ) } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > ( & self , _state : & mut H ) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq ( & self , _other : & __BindgenUnionField < T > ) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } # [ allow ( unused_imports ) ] use self :: super :: root ; pub const NS_FONT_STYLE_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_STYLE_ITALIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_STYLE_OBLIQUE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_WEIGHT_NORMAL : :: std :: os :: raw :: c_uint = 400 ; pub const NS_FONT_WEIGHT_BOLD : :: std :: os :: raw :: c_uint = 700 ; pub const NS_FONT_WEIGHT_THIN : :: std :: os :: raw :: c_uint = 100 ; pub const NS_FONT_STRETCH_ULTRA_CONDENSED : :: std :: os :: raw :: c_int = -4 ; pub const NS_FONT_STRETCH_EXTRA_CONDENSED : :: std :: os :: raw :: c_int = -3 ; pub const NS_FONT_STRETCH_CONDENSED : :: std :: os :: raw :: c_int = -2 ; pub const NS_FONT_STRETCH_SEMI_CONDENSED : :: std :: os :: raw :: c_int = -1 ; pub const NS_FONT_STRETCH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_STRETCH_SEMI_EXPANDED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_STRETCH_EXPANDED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_STRETCH_EXTRA_EXPANDED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_STRETCH_ULTRA_EXPANDED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_SMOOTHING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_SMOOTHING_GRAYSCALE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_KERNING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_KERNING_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_KERNING_NORMAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_SYNTHESIS_WEIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_SYNTHESIS_STYLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_DISPLAY_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_DISPLAY_BLOCK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_DISPLAY_SWAP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_DISPLAY_FALLBACK : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_DISPLAY_OPTIONAL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_ALTERNATES_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_ALTERNATES_HISTORICAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_ALTERNATES_STYLISTIC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_ALTERNATES_STYLESET : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_ALTERNATES_CHARACTER_VARIANT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_ALTERNATES_SWASH : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_ALTERNATES_ORNAMENTS : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_ALTERNATES_ANNOTATION : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_ALTERNATES_COUNT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_FONT_VARIANT_ALTERNATES_ENUMERATED_MASK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_ALTERNATES_FUNCTIONAL_MASK : :: std :: os :: raw :: c_uint = 126 ; pub const NS_FONT_VARIANT_CAPS_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_CAPS_SMALLCAPS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_CAPS_ALLSMALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_CAPS_PETITECAPS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_CAPS_ALLPETITE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_CAPS_TITLING : :: std :: os :: raw :: c_uint = 5 ; pub const NS_FONT_VARIANT_CAPS_UNICASE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_FONT_VARIANT_EAST_ASIAN_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS78 : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS83 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS90 : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS04 : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_EAST_ASIAN_RUBY : :: std :: os :: raw :: c_uint = 256 ; pub const NS_FONT_VARIANT_EAST_ASIAN_COUNT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_FONT_VARIANT_EAST_ASIAN_VARIANT_MASK : :: std :: os :: raw :: c_uint = 63 ; pub const NS_FONT_VARIANT_EAST_ASIAN_WIDTH_MASK : :: std :: os :: raw :: c_uint = 192 ; pub const NS_FONT_VARIANT_LIGATURES_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_LIGATURES_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_LIGATURES_COMMON : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_LIGATURES_NO_COMMON : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_LIGATURES_DISCRETIONARY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_LIGATURES_HISTORICAL : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_LIGATURES_CONTEXTUAL : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL : :: std :: os :: raw :: c_uint = 256 ; pub const NS_FONT_VARIANT_LIGATURES_COUNT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_FONT_VARIANT_LIGATURES_COMMON_MASK : :: std :: os :: raw :: c_uint = 6 ; pub const NS_FONT_VARIANT_LIGATURES_DISCRETIONARY_MASK : :: std :: os :: raw :: c_uint = 24 ; pub const NS_FONT_VARIANT_LIGATURES_HISTORICAL_MASK : :: std :: os :: raw :: c_uint = 96 ; pub const NS_FONT_VARIANT_LIGATURES_CONTEXTUAL_MASK : :: std :: os :: raw :: c_uint = 384 ; pub const NS_FONT_VARIANT_NUMERIC_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_NUMERIC_LINING : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_NUMERIC_OLDSTYLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_NUMERIC_PROPORTIONAL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_NUMERIC_TABULAR : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_NUMERIC_SLASHZERO : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_NUMERIC_ORDINAL : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_NUMERIC_COUNT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_NUMERIC_FIGURE_MASK : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_NUMERIC_SPACING_MASK : :: std :: os :: raw :: c_uint = 12 ; pub const NS_FONT_VARIANT_NUMERIC_FRACTION_MASK : :: std :: os :: raw :: c_uint = 48 ; pub const NS_FONT_VARIANT_POSITION_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_POSITION_SUPER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_POSITION_SUB : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_WIDTH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_WIDTH_FULL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_WIDTH_HALF : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_WIDTH_THIRD : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_WIDTH_QUARTER : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_SUBSCRIPT_OFFSET_RATIO : f64 = 0.2 ; pub const NS_FONT_SUPERSCRIPT_OFFSET_RATIO : f64 = 0.34 ; pub const NS_FONT_SUB_SUPER_SIZE_RATIO_SMALL : f64 = 0.82 ; pub const NS_FONT_SUB_SUPER_SIZE_RATIO_LARGE : f64 = 0.667 ; pub const NS_FONT_SUB_SUPER_SMALL_SIZE : f64 = 20. ; pub const NS_FONT_SUB_SUPER_LARGE_SIZE : f64 = 45. ; pub const NS_FONT_VARIANT_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_SMALL_CAPS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INHERIT_FROM_BODY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WILL_CHANGE_STACKING_CONTEXT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WILL_CHANGE_TRANSFORM : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WILL_CHANGE_SCROLL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_WILL_CHANGE_OPACITY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WILL_CHANGE_FIXPOS_CB : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_WILL_CHANGE_ABSPOS_CB : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_ANIMATION_ITERATION_COUNT_INFINITE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ANIMATION_PLAY_STATE_RUNNING : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ANIMATION_PLAY_STATE_PAUSED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_SCROLL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_FIXED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_LOCAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGELAYER_CLIP_MOZ_ALMOST_PADDING : :: std :: os :: raw :: c_uint = 127 ; pub const NS_STYLE_IMAGELAYER_POSITION_CENTER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_POSITION_TOP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGELAYER_POSITION_BOTTOM : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_IMAGELAYER_POSITION_LEFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_IMAGELAYER_POSITION_RIGHT : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_IMAGELAYER_SIZE_CONTAIN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGELAYER_SIZE_COVER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_MODE_ALPHA : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_MODE_LUMINANCE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_MODE_MATCH_SOURCE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BG_INLINE_POLICY_EACH_BOX : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BG_INLINE_POLICY_CONTINUOUS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BG_INLINE_POLICY_BOUNDING_BOX : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_COLLAPSE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_SEPARATE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_WIDTH_THIN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_WIDTH_MEDIUM : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_WIDTH_THICK : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_STYLE_GROOVE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_STYLE_RIDGE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_STYLE_DOTTED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BORDER_STYLE_DASHED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_BORDER_STYLE_SOLID : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_BORDER_STYLE_DOUBLE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_BORDER_STYLE_INSET : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_BORDER_STYLE_OUTSET : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_BORDER_STYLE_HIDDEN : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_BORDER_STYLE_AUTO : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_STRETCH : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_REPEAT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_ROUND : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_SPACE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BORDER_IMAGE_SLICE_NOFILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_IMAGE_SLICE_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CURSOR_AUTO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CURSOR_CROSSHAIR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CURSOR_DEFAULT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CURSOR_POINTER : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CURSOR_MOVE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_CURSOR_E_RESIZE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_CURSOR_NE_RESIZE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_CURSOR_NW_RESIZE : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_CURSOR_N_RESIZE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_CURSOR_SE_RESIZE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_CURSOR_SW_RESIZE : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_CURSOR_S_RESIZE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_CURSOR_W_RESIZE : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_CURSOR_TEXT : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_CURSOR_WAIT : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_CURSOR_HELP : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_CURSOR_COPY : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_CURSOR_ALIAS : :: std :: os :: raw :: c_uint = 18 ; pub const NS_STYLE_CURSOR_CONTEXT_MENU : :: std :: os :: raw :: c_uint = 19 ; pub const NS_STYLE_CURSOR_CELL : :: std :: os :: raw :: c_uint = 20 ; pub const NS_STYLE_CURSOR_GRAB : :: std :: os :: raw :: c_uint = 21 ; pub const NS_STYLE_CURSOR_GRABBING : :: std :: os :: raw :: c_uint = 22 ; pub const NS_STYLE_CURSOR_SPINNING : :: std :: os :: raw :: c_uint = 23 ; pub const NS_STYLE_CURSOR_ZOOM_IN : :: std :: os :: raw :: c_uint = 24 ; pub const NS_STYLE_CURSOR_ZOOM_OUT : :: std :: os :: raw :: c_uint = 25 ; pub const NS_STYLE_CURSOR_NOT_ALLOWED : :: std :: os :: raw :: c_uint = 26 ; pub const NS_STYLE_CURSOR_COL_RESIZE : :: std :: os :: raw :: c_uint = 27 ; pub const NS_STYLE_CURSOR_ROW_RESIZE : :: std :: os :: raw :: c_uint = 28 ; pub const NS_STYLE_CURSOR_NO_DROP : :: std :: os :: raw :: c_uint = 29 ; pub const NS_STYLE_CURSOR_VERTICAL_TEXT : :: std :: os :: raw :: c_uint = 30 ; pub const NS_STYLE_CURSOR_ALL_SCROLL : :: std :: os :: raw :: c_uint = 31 ; pub const NS_STYLE_CURSOR_NESW_RESIZE : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_CURSOR_NWSE_RESIZE : :: std :: os :: raw :: c_uint = 33 ; pub const NS_STYLE_CURSOR_NS_RESIZE : :: std :: os :: raw :: c_uint = 34 ; pub const NS_STYLE_CURSOR_EW_RESIZE : :: std :: os :: raw :: c_uint = 35 ; pub const NS_STYLE_CURSOR_NONE : :: std :: os :: raw :: c_uint = 36 ; pub const NS_STYLE_DIRECTION_LTR : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DIRECTION_RTL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WRITING_MODE_HORIZONTAL_TB : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WRITING_MODE_VERTICAL_RL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WRITING_MODE_VERTICAL_LR : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_MASK : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_RL : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_LR : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_CONTAIN_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTAIN_STRICT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTAIN_LAYOUT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CONTAIN_STYLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTAIN_PAINT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_CONTAIN_ALL_BITS : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_ALIGN_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ALIGN_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_ALIGN_START : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ALIGN_END : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_ALIGN_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_ALIGN_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_ALIGN_LEFT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_ALIGN_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_ALIGN_BASELINE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_ALIGN_LAST_BASELINE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_ALIGN_STRETCH : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_ALIGN_SELF_START : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_ALIGN_SELF_END : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_ALIGN_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_ALIGN_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_ALIGN_SPACE_EVENLY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_ALIGN_LEGACY : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_ALIGN_SAFE : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_ALIGN_UNSAFE : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_ALIGN_FLAG_BITS : :: std :: os :: raw :: c_uint = 224 ; pub const NS_STYLE_ALIGN_ALL_BITS : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_ALIGN_ALL_SHIFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_JUSTIFY_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_JUSTIFY_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_JUSTIFY_START : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_JUSTIFY_END : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_JUSTIFY_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_JUSTIFY_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_JUSTIFY_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_JUSTIFY_LEFT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_JUSTIFY_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_JUSTIFY_BASELINE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_JUSTIFY_LAST_BASELINE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_JUSTIFY_STRETCH : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_JUSTIFY_SELF_START : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_JUSTIFY_SELF_END : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_JUSTIFY_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_JUSTIFY_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_JUSTIFY_SPACE_EVENLY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_JUSTIFY_LEGACY : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_JUSTIFY_SAFE : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_JUSTIFY_UNSAFE : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_JUSTIFY_FLAG_BITS : :: std :: os :: raw :: c_uint = 224 ; pub const NS_STYLE_JUSTIFY_ALL_BITS : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_JUSTIFY_ALL_SHIFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FLEX_DIRECTION_ROW : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FLEX_DIRECTION_ROW_REVERSE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FLEX_DIRECTION_COLUMN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FLEX_DIRECTION_COLUMN_REVERSE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FLEX_WRAP_NOWRAP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FLEX_WRAP_WRAP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FLEX_WRAP_WRAP_REVERSE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ORDER_INITIAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_JUSTIFY_CONTENT_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_JUSTIFY_CONTENT_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_JUSTIFY_CONTENT_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_JUSTIFY_CONTENT_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_JUSTIFY_CONTENT_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_FILTER_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FILTER_URL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FILTER_BLUR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FILTER_BRIGHTNESS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FILTER_CONTRAST : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FILTER_GRAYSCALE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FILTER_INVERT : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FILTER_OPACITY : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FILTER_SATURATE : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FILTER_SEPIA : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FILTER_HUE_ROTATE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FILTER_DROP_SHADOW : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_FONT_STYLE_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_STYLE_ITALIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_STYLE_OBLIQUE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_WEIGHT_NORMAL : :: std :: os :: raw :: c_uint = 400 ; pub const NS_STYLE_FONT_WEIGHT_BOLD : :: std :: os :: raw :: c_uint = 700 ; pub const NS_STYLE_FONT_WEIGHT_BOLDER : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_FONT_WEIGHT_LIGHTER : :: std :: os :: raw :: c_int = -2 ; pub const NS_STYLE_FONT_SIZE_XXSMALL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_SIZE_XSMALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_SIZE_SMALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_SIZE_MEDIUM : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_SIZE_LARGE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_SIZE_XLARGE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FONT_SIZE_XXLARGE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FONT_SIZE_XXXLARGE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FONT_SIZE_LARGER : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FONT_SIZE_SMALLER : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FONT_SIZE_NO_KEYWORD : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FONT_STRETCH_ULTRA_CONDENSED : :: std :: os :: raw :: c_int = -4 ; pub const NS_STYLE_FONT_STRETCH_EXTRA_CONDENSED : :: std :: os :: raw :: c_int = -3 ; pub const NS_STYLE_FONT_STRETCH_CONDENSED : :: std :: os :: raw :: c_int = -2 ; pub const NS_STYLE_FONT_STRETCH_SEMI_CONDENSED : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_FONT_STRETCH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_STRETCH_SEMI_EXPANDED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_STRETCH_EXPANDED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_STRETCH_EXTRA_EXPANDED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_STRETCH_ULTRA_EXPANDED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_CAPTION : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_ICON : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_MENU : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_MESSAGE_BOX : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_SMALL_CAPTION : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FONT_STATUS_BAR : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FONT_WINDOW : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FONT_DOCUMENT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FONT_WORKSPACE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FONT_DESKTOP : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FONT_INFO : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_FONT_DIALOG : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_FONT_BUTTON : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_FONT_PULL_DOWN_MENU : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_FONT_LIST : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_FONT_FIELD : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_GRID_AUTO_FLOW_ROW : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRID_AUTO_FLOW_COLUMN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRID_AUTO_FLOW_DENSE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_GRID_TEMPLATE_SUBGRID : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRID_REPEAT_AUTO_FILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRID_REPEAT_AUTO_FIT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_MATHML_DEFAULT_SCRIPT_SIZE_MULTIPLIER : f64 = 0.71 ; pub const NS_MATHML_DEFAULT_SCRIPT_MIN_SIZE_PT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_MATHML_MATHVARIANT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_MATHML_MATHVARIANT_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_MATHML_MATHVARIANT_BOLD : :: std :: os :: raw :: c_uint = 2 ; pub const NS_MATHML_MATHVARIANT_ITALIC : :: std :: os :: raw :: c_uint = 3 ; pub const NS_MATHML_MATHVARIANT_BOLD_ITALIC : :: std :: os :: raw :: c_uint = 4 ; pub const NS_MATHML_MATHVARIANT_SCRIPT : :: std :: os :: raw :: c_uint = 5 ; pub const NS_MATHML_MATHVARIANT_BOLD_SCRIPT : :: std :: os :: raw :: c_uint = 6 ; pub const NS_MATHML_MATHVARIANT_FRAKTUR : :: std :: os :: raw :: c_uint = 7 ; pub const NS_MATHML_MATHVARIANT_DOUBLE_STRUCK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_MATHML_MATHVARIANT_BOLD_FRAKTUR : :: std :: os :: raw :: c_uint = 9 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF : :: std :: os :: raw :: c_uint = 10 ; pub const NS_MATHML_MATHVARIANT_BOLD_SANS_SERIF : :: std :: os :: raw :: c_uint = 11 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF_ITALIC : :: std :: os :: raw :: c_uint = 12 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF_BOLD_ITALIC : :: std :: os :: raw :: c_uint = 13 ; pub const NS_MATHML_MATHVARIANT_MONOSPACE : :: std :: os :: raw :: c_uint = 14 ; pub const NS_MATHML_MATHVARIANT_INITIAL : :: std :: os :: raw :: c_uint = 15 ; pub const NS_MATHML_MATHVARIANT_TAILED : :: std :: os :: raw :: c_uint = 16 ; pub const NS_MATHML_MATHVARIANT_LOOPED : :: std :: os :: raw :: c_uint = 17 ; pub const NS_MATHML_MATHVARIANT_STRETCHED : :: std :: os :: raw :: c_uint = 18 ; pub const NS_MATHML_DISPLAYSTYLE_INLINE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_MATHML_DISPLAYSTYLE_BLOCK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WIDTH_MAX_CONTENT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WIDTH_MIN_CONTENT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WIDTH_FIT_CONTENT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WIDTH_AVAILABLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POSITION_STATIC : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POSITION_RELATIVE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_POSITION_ABSOLUTE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_POSITION_FIXED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POSITION_STICKY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CLIP_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CLIP_RECT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CLIP_TYPE_MASK : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_CLIP_LEFT_AUTO : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_CLIP_TOP_AUTO : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_CLIP_RIGHT_AUTO : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_CLIP_BOTTOM_AUTO : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_FRAME_YES : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FRAME_NO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FRAME_0 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FRAME_1 : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FRAME_ON : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FRAME_OFF : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FRAME_AUTO : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FRAME_SCROLL : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FRAME_NOSCROLL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_OVERFLOW_VISIBLE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOW_HIDDEN : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OVERFLOW_SCROLL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OVERFLOW_AUTO : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_OVERFLOW_CLIP : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_OVERFLOW_SCROLLBARS_HORIZONTAL : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_OVERFLOW_SCROLLBARS_VERTICAL : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_OVERFLOW_CLIP_BOX_PADDING_BOX : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOW_CLIP_BOX_CONTENT_BOX : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_LIST_STYLE_CUSTOM : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_LIST_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_LIST_STYLE_DECIMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_LIST_STYLE_DISC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_LIST_STYLE_CIRCLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_LIST_STYLE_SQUARE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_LIST_STYLE_DISCLOSURE_CLOSED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_LIST_STYLE_DISCLOSURE_OPEN : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_LIST_STYLE_HEBREW : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_LIST_STYLE_JAPANESE_FORMAL : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANGUL_FORMAL : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANJA_INFORMAL : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANJA_FORMAL : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_LIST_STYLE_ETHIOPIC_NUMERIC : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_LIST_STYLE_LOWER_ROMAN : :: std :: os :: raw :: c_uint = 100 ; pub const NS_STYLE_LIST_STYLE_UPPER_ROMAN : :: std :: os :: raw :: c_uint = 101 ; pub const NS_STYLE_LIST_STYLE_LOWER_ALPHA : :: std :: os :: raw :: c_uint = 102 ; pub const NS_STYLE_LIST_STYLE_UPPER_ALPHA : :: std :: os :: raw :: c_uint = 103 ; pub const NS_STYLE_LIST_STYLE_POSITION_INSIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_LIST_STYLE_POSITION_OUTSIDE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MARGIN_SIZE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POINTER_EVENTS_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLEPAINTED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLEFILL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLESTROKE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_POINTER_EVENTS_PAINTED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_POINTER_EVENTS_FILL : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_POINTER_EVENTS_STROKE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_POINTER_EVENTS_ALL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_POINTER_EVENTS_AUTO : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_IMAGE_ORIENTATION_FLIP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGE_ORIENTATION_FROM_IMAGE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_ISOLATION_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ISOLATION_ISOLATE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OBJECT_FIT_FILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OBJECT_FIT_CONTAIN : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OBJECT_FIT_COVER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OBJECT_FIT_NONE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_OBJECT_FIT_SCALE_DOWN : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_RESIZE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RESIZE_BOTH : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RESIZE_HORIZONTAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_RESIZE_VERTICAL : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_ALIGN_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ALIGN_LEFT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ALIGN_RIGHT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_ALIGN_JUSTIFY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_ALIGN_CHAR : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_ALIGN_END : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_TEXT_ALIGN_AUTO : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_CENTER : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_RIGHT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_LEFT : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_CENTER_OR_INHERIT : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_TEXT_ALIGN_UNSAFE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_TEXT_ALIGN_MATCH_PARENT : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_TEXT_DECORATION_LINE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_DECORATION_LINE_UNDERLINE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_DECORATION_LINE_OVERLINE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_DECORATION_LINE_LINE_THROUGH : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_DECORATION_LINE_BLINK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_DECORATION_LINE_OVERRIDE_ALL : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_TEXT_DECORATION_LINE_LINES_MASK : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DOTTED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DASHED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_SOLID : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DOUBLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_WAVY : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_MAX : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_OVERFLOW_CLIP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_OVERFLOW_ELLIPSIS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_OVERFLOW_STRING : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_TRANSFORM_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_TRANSFORM_CAPITALIZE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_TRANSFORM_LOWERCASE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_TRANSFORM_UPPERCASE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_TRANSFORM_FULL_WIDTH : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TOUCH_ACTION_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TOUCH_ACTION_AUTO : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TOUCH_ACTION_PAN_X : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TOUCH_ACTION_PAN_Y : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TOUCH_ACTION_MANIPULATION : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_TOP_LAYER_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TOP_LAYER_TOP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_LINEAR : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_IN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_OUT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_IN_OUT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_START : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_END : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_VERTICAL_ALIGN_BASELINE : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_VERTICAL_ALIGN_SUB : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_VERTICAL_ALIGN_SUPER : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_VERTICAL_ALIGN_TOP : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_VERTICAL_ALIGN_TEXT_TOP : :: std :: os :: raw :: c_uint = 18 ; pub const NS_STYLE_VERTICAL_ALIGN_MIDDLE : :: std :: os :: raw :: c_uint = 19 ; pub const NS_STYLE_VERTICAL_ALIGN_TEXT_BOTTOM : :: std :: os :: raw :: c_uint = 20 ; pub const NS_STYLE_VERTICAL_ALIGN_BOTTOM : :: std :: os :: raw :: c_uint = 21 ; pub const NS_STYLE_VERTICAL_ALIGN_MIDDLE_WITH_BASELINE : :: std :: os :: raw :: c_uint = 22 ; pub const NS_STYLE_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_VISIBILITY_COLLAPSE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TABSIZE_INITIAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WORDBREAK_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WORDBREAK_BREAK_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WORDBREAK_KEEP_ALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OVERFLOWWRAP_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOWWRAP_BREAK_WORD : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_ALIGN_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RUBY_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_ALIGN_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_RUBY_ALIGN_SPACE_AROUND : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_RUBY_POSITION_OVER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RUBY_POSITION_UNDER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_POSITION_INTER_CHARACTER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_SIZE_ADJUST_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_SIZE_ADJUST_AUTO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ORIENTATION_MIXED : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ORIENTATION_UPRIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ORIENTATION_SIDEWAYS : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_2 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_3 : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_4 : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_LINE_HEIGHT_BLOCK_HEIGHT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_UNICODE_BIDI_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_UNICODE_BIDI_EMBED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_UNICODE_BIDI_ISOLATE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_UNICODE_BIDI_BIDI_OVERRIDE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_UNICODE_BIDI_ISOLATE_OVERRIDE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_UNICODE_BIDI_PLAINTEXT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TABLE_LAYOUT_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TABLE_LAYOUT_FIXED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TABLE_EMPTY_CELLS_HIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TABLE_EMPTY_CELLS_SHOW : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CAPTION_SIDE_TOP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CAPTION_SIDE_RIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CAPTION_SIDE_BOTTOM : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CAPTION_SIDE_LEFT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CAPTION_SIDE_TOP_OUTSIDE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CAPTION_SIDE_BOTTOM_OUTSIDE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_CELL_SCOPE_ROW : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CELL_SCOPE_COL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CELL_SCOPE_ROWGROUP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CELL_SCOPE_COLGROUP : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAGE_MARKS_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_MARKS_CROP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_MARKS_REGISTER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_SIZE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_SIZE_PORTRAIT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_SIZE_LANDSCAPE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_BREAK_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_BREAK_ALWAYS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_BREAK_AVOID : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_BREAK_LEFT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAGE_BREAK_RIGHT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_COLUMN_COUNT_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_COUNT_UNLIMITED : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_COLUMN_FILL_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_FILL_BALANCE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLUMN_SPAN_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_SPAN_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IME_MODE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IME_MODE_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IME_MODE_ACTIVE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IME_MODE_DISABLED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_IME_MODE_INACTIVE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_GRADIENT_SHAPE_LINEAR : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRADIENT_SHAPE_ELLIPTICAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRADIENT_SHAPE_CIRCULAR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRADIENT_SIZE_CLOSEST_SIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRADIENT_SIZE_CLOSEST_CORNER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRADIENT_SIZE_FARTHEST_SIDE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRADIENT_SIZE_FARTHEST_CORNER : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_GRADIENT_SIZE_EXPLICIT_SIZE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTEXT_PROPERTY_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTEXT_PROPERTY_STROKE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CONTEXT_PROPERTY_FILL_OPACITY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTEXT_PROPERTY_STROKE_OPACITY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WINDOW_SHADOW_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WINDOW_SHADOW_DEFAULT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WINDOW_SHADOW_MENU : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WINDOW_SHADOW_TOOLTIP : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_WINDOW_SHADOW_SHEET : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_DOMINANT_BASELINE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DOMINANT_BASELINE_USE_SCRIPT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DOMINANT_BASELINE_NO_CHANGE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_DOMINANT_BASELINE_RESET_SIZE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_DOMINANT_BASELINE_IDEOGRAPHIC : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_DOMINANT_BASELINE_ALPHABETIC : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_DOMINANT_BASELINE_HANGING : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_DOMINANT_BASELINE_MATHEMATICAL : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_DOMINANT_BASELINE_CENTRAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_DOMINANT_BASELINE_MIDDLE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_DOMINANT_BASELINE_TEXT_AFTER_EDGE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_DOMINANT_BASELINE_TEXT_BEFORE_EDGE : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_IMAGE_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGE_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGE_RENDERING_OPTIMIZEQUALITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGE_RENDERING_CRISPEDGES : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_MASK_TYPE_LUMINANCE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_TYPE_ALPHA : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAINT_ORDER_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAINT_ORDER_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAINT_ORDER_STROKE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAINT_ORDER_MARKERS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAINT_ORDER_LAST_VALUE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAINT_ORDER_BITWIDTH : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_SHAPE_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SHAPE_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SHAPE_RENDERING_CRISPEDGES : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_SHAPE_RENDERING_GEOMETRICPRECISION : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_STROKE_LINECAP_BUTT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_STROKE_LINECAP_ROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_STROKE_LINECAP_SQUARE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_STROKE_LINEJOIN_MITER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_STROKE_LINEJOIN_ROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_STROKE_LINEJOIN_BEVEL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_STROKE_PROP_CONTEXT_VALUE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ANCHOR_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ANCHOR_MIDDLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ANCHOR_END : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_OVER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_UNDER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_LEFT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT_ZH : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_FILL_MASK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_FILLED : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_OPEN : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_SHAPE_MASK : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_DOT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_CIRCLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_DOUBLE_CIRCLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_TRIANGLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_SESAME : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_STRING : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_TEXT_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_RENDERING_OPTIMIZELEGIBILITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_RENDERING_GEOMETRICPRECISION : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COLOR_ADJUST_ECONOMY : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLOR_ADJUST_EXACT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INTERPOLATION_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLOR_INTERPOLATION_SRGB : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INTERPOLATION_LINEARRGB : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_VECTOR_EFFECT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_VECTOR_EFFECT_NON_SCALING_STROKE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BACKFACE_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BACKFACE_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSFORM_STYLE_FLAT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSFORM_STYLE_PRESERVE_3D : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTEXT_FILL_OPACITY : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTEXT_STROKE_OPACITY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BLEND_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BLEND_MULTIPLY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BLEND_SCREEN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BLEND_OVERLAY : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BLEND_DARKEN : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_BLEND_LIGHTEN : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_BLEND_COLOR_DODGE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_BLEND_COLOR_BURN : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_BLEND_HARD_LIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_BLEND_SOFT_LIGHT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_BLEND_DIFFERENCE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_BLEND_EXCLUSION : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_BLEND_HUE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_BLEND_SATURATION : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_BLEND_COLOR : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_BLEND_LUMINOSITY : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_MASK_COMPOSITE_ADD : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_COMPOSITE_SUBTRACT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_COMPOSITE_INTERSECT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_MASK_COMPOSITE_EXCLUDE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CONTROL_CHARACTER_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTROL_CHARACTER_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SYSTEM_CYCLIC : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SYSTEM_NUMERIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SYSTEM_ALPHABETIC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_COUNTER_SYSTEM_SYMBOLIC : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COUNTER_SYSTEM_ADDITIVE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_COUNTER_SYSTEM_FIXED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_COUNTER_SYSTEM_EXTENDS : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_COUNTER_RANGE_INFINITE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SPEAKAS_BULLETS : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SPEAKAS_NUMBERS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SPEAKAS_WORDS : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_COUNTER_SPEAKAS_SPELL_OUT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COUNTER_SPEAKAS_OTHER : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_SCROLL_BEHAVIOR_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCROLL_BEHAVIOR_SMOOTH : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_MANDATORY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_PROXIMITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ORIENTATION_PORTRAIT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ORIENTATION_LANDSCAPE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCAN_PROGRESSIVE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCAN_INTERLACE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DISPLAY_MODE_BROWSER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DISPLAY_MODE_MINIMAL_UI : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DISPLAY_MODE_STANDALONE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_DISPLAY_MODE_FULLSCREEN : :: std :: os :: raw :: c_uint = 3 ; pub const CSS_PSEUDO_ELEMENT_IS_CSS2 : :: std :: os :: raw :: c_uint = 1 ; pub const CSS_PSEUDO_ELEMENT_CONTAINS_ELEMENTS : :: std :: os :: raw :: c_uint = 2 ; pub const CSS_PSEUDO_ELEMENT_SUPPORTS_STYLE_ATTRIBUTE : :: std :: os :: raw :: c_uint = 4 ; pub const CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE : :: std :: os :: raw :: c_uint = 8 ; pub const CSS_PSEUDO_ELEMENT_UA_SHEET_ONLY : :: std :: os :: raw :: c_uint = 16 ; pub const CSS_PSEUDO_ELEMENT_IS_JS_CREATED_NAC : :: std :: os :: raw :: c_uint = 32 ; pub const CSS_PSEUDO_ELEMENT_IS_FLEX_OR_GRID_ITEM : :: std :: os :: raw :: c_uint = 64 ; pub const kNameSpaceID_Unknown : :: std :: os :: raw :: c_int = -1 ; pub const kNameSpaceID_XMLNS : :: std :: os :: raw :: c_uint = 1 ; pub const kNameSpaceID_XML : :: std :: os :: raw :: c_uint = 2 ; pub const kNameSpaceID_XHTML : :: std :: os :: raw :: c_uint = 3 ; pub const kNameSpaceID_XLink : :: std :: os :: raw :: c_uint = 4 ; pub const kNameSpaceID_XSLT : :: std :: os :: raw :: c_uint = 5 ; pub const kNameSpaceID_XBL : :: std :: os :: raw :: c_uint = 6 ; pub const kNameSpaceID_MathML : :: std :: os :: raw :: c_uint = 7 ; pub const kNameSpaceID_RDF : :: std :: os :: raw :: c_uint = 8 ; pub const kNameSpaceID_XUL : :: std :: os :: raw :: c_uint = 9 ; pub const kNameSpaceID_SVG : :: std :: os :: raw :: c_uint = 10 ; pub const kNameSpaceID_disabled_MathML : :: std :: os :: raw :: c_uint = 11 ; pub const kNameSpaceID_disabled_SVG : :: std :: os :: raw :: c_uint = 12 ; pub const kNameSpaceID_LastBuiltin : :: std :: os :: raw :: c_uint = 12 ; pub const kNameSpaceID_Wildcard : :: std :: os :: raw :: c_int = -2147483648 ; pub const NS_AUTHOR_SPECIFIED_BACKGROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_AUTHOR_SPECIFIED_BORDER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_AUTHOR_SPECIFIED_PADDING : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_INHERIT_MASK : :: std :: os :: raw :: c_uint = 16777215 ; pub const NS_STYLE_HAS_TEXT_DECORATION_LINES : :: std :: os :: raw :: c_uint = 16777216 ; pub const NS_STYLE_HAS_PSEUDO_ELEMENT_DATA : :: std :: os :: raw :: c_uint = 33554432 ; pub const NS_STYLE_RELEVANT_LINK_VISITED : :: std :: os :: raw :: c_uint = 67108864 ; pub const NS_STYLE_IS_STYLE_IF_VISITED : :: std :: os :: raw :: c_uint = 134217728 ; pub const NS_STYLE_CHILD_USES_GRANDANCESTOR_STYLE : :: std :: os :: raw :: c_uint = 268435456 ; pub const NS_STYLE_IS_SHARED : :: std :: os :: raw :: c_uint = 536870912 ; pub const NS_STYLE_IS_GOING_AWAY : :: std :: os :: raw :: c_uint = 1073741824 ; pub const NS_STYLE_SUPPRESS_LINEBREAK : :: std :: os :: raw :: c_uint = 2147483648 ; pub const NS_STYLE_IN_DISPLAY_NONE_SUBTREE : :: std :: os :: raw :: c_ulonglong = 4294967296 ; pub const NS_STYLE_INELIGIBLE_FOR_SHARING : :: std :: os :: raw :: c_ulonglong = 8589934592 ; pub const NS_STYLE_HAS_CHILD_THAT_USES_RESET_STYLE : :: std :: os :: raw :: c_ulonglong = 17179869184 ; pub const NS_STYLE_IS_TEXT_COMBINED : :: std :: os :: raw :: c_ulonglong = 34359738368 ; pub const NS_STYLE_CONTEXT_IS_GECKO : :: std :: os :: raw :: c_ulonglong = 68719476736 ; pub const NS_STYLE_CONTEXT_TYPE_SHIFT : :: std :: os :: raw :: c_uint = 37 ; pub mod std { # [ allow ( unused_imports ) ] use self :: super :: super :: root ; pub type conditional_type < _If > = _If ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pair < _T1 , _T2 > { pub first : _T1 , pub second : _T2 , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < _T1 > > , pub _phantom_1 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < _T2 > > , } pub type pair_first_type < _T1 > = _T1 ; pub type pair_second_type < _T2 > = _T2 ; pub type pair__EnableB = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pair__CheckArgs { pub _address : u8 , } pub type pair__CheckArgsDep = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pair__CheckTupleLikeConstructor { pub _address : u8 , } pub type pair__CheckTLC = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct input_iterator_tag { pub _address : u8 , } # [ test ] fn bindgen_test_layout_input_iterator_tag ( ) { assert_eq ! ( :: std :: mem :: size_of :: < input_iterator_tag > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( input_iterator_tag ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < input_iterator_tag > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( input_iterator_tag ) ) ) ; } impl Clone for input_iterator_tag { 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 ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct iterator { pub _address : u8 , } 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 ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct atomic { pub _address : u8 , } pub type atomic___base = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct function { pub _address : u8 , } pub type __bit_reference___storage_type = [ u8 ; 0usize ] ; pub type __bit_reference___storage_pointer = [ u8 ; 0usize ] ; # [ 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 type __bit_iterator_difference_type = [ u8 ; 0usize ] ; pub type __bit_iterator_value_type = bool ; pub type __bit_iterator_pointer = u8 ; pub type __bit_iterator_reference = u8 ; pub type __bit_iterator_iterator_category = root :: std :: random_access_iterator_tag ; pub type __bit_iterator___storage_type = [ u8 ; 0usize ] ; pub type __bit_iterator___storage_pointer = [ u8 ; 0usize ] ; pub type __bitset_difference_type = isize ; pub type __bitset_size_type = usize ; pub type __bitset___storage_type = root :: std :: __bitset_size_type ; pub type __bitset___self = u8 ; pub type __bitset___storage_pointer = * mut root :: std :: __bitset___storage_type ; pub type __bitset___const_storage_pointer = * const root :: std :: __bitset___storage_type ; pub const __bitset___bits_per_word : :: std :: os :: raw :: c_uint = 64 ; pub type __bitset_reference = u8 ; pub type __bitset_const_reference = root :: std :: __bit_const_reference ; pub type __bitset_iterator = u8 ; pub type __bitset_const_iterator = u8 ; extern "C" { - # [ link_name = "\u{1}__n_words" ] - pub static mut bitset___n_words : :: std :: os :: raw :: c_uint ; -} pub type bitset_base = u8 ; pub type bitset_reference = root :: std :: bitset_base ; pub type bitset_const_reference = root :: std :: bitset_base ; } pub mod mozilla { # [ allow ( unused_imports ) ] use self :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct fallible_t { pub _address : u8 , } # [ test ] fn bindgen_test_layout_fallible_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fallible_t > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( fallible_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fallible_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( fallible_t ) ) ) ; } impl Clone for fallible_t { fn clone ( & self ) -> Self { * self } } pub type IntegralConstant_ValueType < T > = T ; pub type IntegralConstant_Type = u8 ; +# [ allow ( non_snake_case , non_camel_case_types , non_upper_case_globals ) ] pub mod root { # [ repr ( C ) ] pub struct __BindgenUnionField < T > ( :: std :: marker :: PhantomData < T > ) ; impl < T > __BindgenUnionField < T > { # [ inline ] pub fn new ( ) -> Self { __BindgenUnionField ( :: std :: marker :: PhantomData ) } # [ inline ] pub unsafe fn as_ref ( & self ) -> & T { :: std :: mem :: transmute ( self ) } # [ inline ] pub unsafe fn as_mut ( & mut self ) -> & mut T { :: std :: mem :: transmute ( self ) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [ inline ] fn default ( ) -> Self { Self :: new ( ) } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [ inline ] fn clone ( & self ) -> Self { Self :: new ( ) } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt ( & self , fmt : & mut :: std :: fmt :: Formatter ) -> :: std :: fmt :: Result { fmt . write_str ( "__BindgenUnionField" ) } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > ( & self , _state : & mut H ) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq ( & self , _other : & __BindgenUnionField < T > ) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } # [ allow ( unused_imports ) ] use self :: super :: root ; pub const NS_FONT_STYLE_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_STYLE_ITALIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_STYLE_OBLIQUE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_WEIGHT_NORMAL : :: std :: os :: raw :: c_uint = 400 ; pub const NS_FONT_WEIGHT_BOLD : :: std :: os :: raw :: c_uint = 700 ; pub const NS_FONT_WEIGHT_THIN : :: std :: os :: raw :: c_uint = 100 ; pub const NS_FONT_STRETCH_ULTRA_CONDENSED : :: std :: os :: raw :: c_int = -4 ; pub const NS_FONT_STRETCH_EXTRA_CONDENSED : :: std :: os :: raw :: c_int = -3 ; pub const NS_FONT_STRETCH_CONDENSED : :: std :: os :: raw :: c_int = -2 ; pub const NS_FONT_STRETCH_SEMI_CONDENSED : :: std :: os :: raw :: c_int = -1 ; pub const NS_FONT_STRETCH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_STRETCH_SEMI_EXPANDED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_STRETCH_EXPANDED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_STRETCH_EXTRA_EXPANDED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_STRETCH_ULTRA_EXPANDED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_SMOOTHING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_SMOOTHING_GRAYSCALE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_KERNING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_KERNING_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_KERNING_NORMAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_SYNTHESIS_WEIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_SYNTHESIS_STYLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_DISPLAY_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_DISPLAY_BLOCK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_DISPLAY_SWAP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_DISPLAY_FALLBACK : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_DISPLAY_OPTIONAL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_ALTERNATES_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_ALTERNATES_HISTORICAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_ALTERNATES_STYLISTIC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_ALTERNATES_STYLESET : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_ALTERNATES_CHARACTER_VARIANT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_ALTERNATES_SWASH : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_ALTERNATES_ORNAMENTS : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_ALTERNATES_ANNOTATION : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_ALTERNATES_COUNT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_FONT_VARIANT_ALTERNATES_ENUMERATED_MASK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_ALTERNATES_FUNCTIONAL_MASK : :: std :: os :: raw :: c_uint = 126 ; pub const NS_FONT_VARIANT_CAPS_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_CAPS_SMALLCAPS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_CAPS_ALLSMALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_CAPS_PETITECAPS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_CAPS_ALLPETITE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_CAPS_TITLING : :: std :: os :: raw :: c_uint = 5 ; pub const NS_FONT_VARIANT_CAPS_UNICASE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_FONT_VARIANT_EAST_ASIAN_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS78 : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS83 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS90 : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_EAST_ASIAN_JIS04 : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_EAST_ASIAN_RUBY : :: std :: os :: raw :: c_uint = 256 ; pub const NS_FONT_VARIANT_EAST_ASIAN_COUNT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_FONT_VARIANT_EAST_ASIAN_VARIANT_MASK : :: std :: os :: raw :: c_uint = 63 ; pub const NS_FONT_VARIANT_EAST_ASIAN_WIDTH_MASK : :: std :: os :: raw :: c_uint = 192 ; pub const NS_FONT_VARIANT_LIGATURES_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_LIGATURES_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_LIGATURES_COMMON : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_LIGATURES_NO_COMMON : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_LIGATURES_DISCRETIONARY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_LIGATURES_HISTORICAL : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_LIGATURES_CONTEXTUAL : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL : :: std :: os :: raw :: c_uint = 256 ; pub const NS_FONT_VARIANT_LIGATURES_COUNT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_FONT_VARIANT_LIGATURES_COMMON_MASK : :: std :: os :: raw :: c_uint = 6 ; pub const NS_FONT_VARIANT_LIGATURES_DISCRETIONARY_MASK : :: std :: os :: raw :: c_uint = 24 ; pub const NS_FONT_VARIANT_LIGATURES_HISTORICAL_MASK : :: std :: os :: raw :: c_uint = 96 ; pub const NS_FONT_VARIANT_LIGATURES_CONTEXTUAL_MASK : :: std :: os :: raw :: c_uint = 384 ; pub const NS_FONT_VARIANT_NUMERIC_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_NUMERIC_LINING : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_NUMERIC_OLDSTYLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_NUMERIC_PROPORTIONAL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_VARIANT_NUMERIC_TABULAR : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS : :: std :: os :: raw :: c_uint = 16 ; pub const NS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS : :: std :: os :: raw :: c_uint = 32 ; pub const NS_FONT_VARIANT_NUMERIC_SLASHZERO : :: std :: os :: raw :: c_uint = 64 ; pub const NS_FONT_VARIANT_NUMERIC_ORDINAL : :: std :: os :: raw :: c_uint = 128 ; pub const NS_FONT_VARIANT_NUMERIC_COUNT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_FONT_VARIANT_NUMERIC_FIGURE_MASK : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_NUMERIC_SPACING_MASK : :: std :: os :: raw :: c_uint = 12 ; pub const NS_FONT_VARIANT_NUMERIC_FRACTION_MASK : :: std :: os :: raw :: c_uint = 48 ; pub const NS_FONT_VARIANT_POSITION_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_POSITION_SUPER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_POSITION_SUB : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_WIDTH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_WIDTH_FULL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_FONT_VARIANT_WIDTH_HALF : :: std :: os :: raw :: c_uint = 2 ; pub const NS_FONT_VARIANT_WIDTH_THIRD : :: std :: os :: raw :: c_uint = 3 ; pub const NS_FONT_VARIANT_WIDTH_QUARTER : :: std :: os :: raw :: c_uint = 4 ; pub const NS_FONT_SUBSCRIPT_OFFSET_RATIO : f64 = 0.2 ; pub const NS_FONT_SUPERSCRIPT_OFFSET_RATIO : f64 = 0.34 ; pub const NS_FONT_SUB_SUPER_SIZE_RATIO_SMALL : f64 = 0.82 ; pub const NS_FONT_SUB_SUPER_SIZE_RATIO_LARGE : f64 = 0.667 ; pub const NS_FONT_SUB_SUPER_SMALL_SIZE : f64 = 20. ; pub const NS_FONT_SUB_SUPER_LARGE_SIZE : f64 = 45. ; pub const NS_FONT_VARIANT_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_FONT_VARIANT_SMALL_CAPS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INHERIT_FROM_BODY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WILL_CHANGE_STACKING_CONTEXT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WILL_CHANGE_TRANSFORM : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WILL_CHANGE_SCROLL : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_WILL_CHANGE_OPACITY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WILL_CHANGE_FIXPOS_CB : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_WILL_CHANGE_ABSPOS_CB : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_ANIMATION_ITERATION_COUNT_INFINITE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ANIMATION_PLAY_STATE_RUNNING : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ANIMATION_PLAY_STATE_PAUSED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_SCROLL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_FIXED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_ATTACHMENT_LOCAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGELAYER_CLIP_MOZ_ALMOST_PADDING : :: std :: os :: raw :: c_uint = 127 ; pub const NS_STYLE_IMAGELAYER_POSITION_CENTER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGELAYER_POSITION_TOP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGELAYER_POSITION_BOTTOM : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_IMAGELAYER_POSITION_LEFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_IMAGELAYER_POSITION_RIGHT : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_IMAGELAYER_SIZE_CONTAIN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGELAYER_SIZE_COVER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_MODE_ALPHA : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_MODE_LUMINANCE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_MODE_MATCH_SOURCE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BG_INLINE_POLICY_EACH_BOX : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BG_INLINE_POLICY_CONTINUOUS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BG_INLINE_POLICY_BOUNDING_BOX : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_COLLAPSE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_SEPARATE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_WIDTH_THIN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_WIDTH_MEDIUM : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_WIDTH_THICK : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_STYLE_GROOVE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_STYLE_RIDGE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_STYLE_DOTTED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BORDER_STYLE_DASHED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_BORDER_STYLE_SOLID : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_BORDER_STYLE_DOUBLE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_BORDER_STYLE_INSET : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_BORDER_STYLE_OUTSET : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_BORDER_STYLE_HIDDEN : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_BORDER_STYLE_AUTO : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_STRETCH : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_REPEAT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_ROUND : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BORDER_IMAGE_REPEAT_SPACE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BORDER_IMAGE_SLICE_NOFILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BORDER_IMAGE_SLICE_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CURSOR_AUTO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CURSOR_CROSSHAIR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CURSOR_DEFAULT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CURSOR_POINTER : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CURSOR_MOVE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_CURSOR_E_RESIZE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_CURSOR_NE_RESIZE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_CURSOR_NW_RESIZE : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_CURSOR_N_RESIZE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_CURSOR_SE_RESIZE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_CURSOR_SW_RESIZE : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_CURSOR_S_RESIZE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_CURSOR_W_RESIZE : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_CURSOR_TEXT : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_CURSOR_WAIT : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_CURSOR_HELP : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_CURSOR_COPY : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_CURSOR_ALIAS : :: std :: os :: raw :: c_uint = 18 ; pub const NS_STYLE_CURSOR_CONTEXT_MENU : :: std :: os :: raw :: c_uint = 19 ; pub const NS_STYLE_CURSOR_CELL : :: std :: os :: raw :: c_uint = 20 ; pub const NS_STYLE_CURSOR_GRAB : :: std :: os :: raw :: c_uint = 21 ; pub const NS_STYLE_CURSOR_GRABBING : :: std :: os :: raw :: c_uint = 22 ; pub const NS_STYLE_CURSOR_SPINNING : :: std :: os :: raw :: c_uint = 23 ; pub const NS_STYLE_CURSOR_ZOOM_IN : :: std :: os :: raw :: c_uint = 24 ; pub const NS_STYLE_CURSOR_ZOOM_OUT : :: std :: os :: raw :: c_uint = 25 ; pub const NS_STYLE_CURSOR_NOT_ALLOWED : :: std :: os :: raw :: c_uint = 26 ; pub const NS_STYLE_CURSOR_COL_RESIZE : :: std :: os :: raw :: c_uint = 27 ; pub const NS_STYLE_CURSOR_ROW_RESIZE : :: std :: os :: raw :: c_uint = 28 ; pub const NS_STYLE_CURSOR_NO_DROP : :: std :: os :: raw :: c_uint = 29 ; pub const NS_STYLE_CURSOR_VERTICAL_TEXT : :: std :: os :: raw :: c_uint = 30 ; pub const NS_STYLE_CURSOR_ALL_SCROLL : :: std :: os :: raw :: c_uint = 31 ; pub const NS_STYLE_CURSOR_NESW_RESIZE : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_CURSOR_NWSE_RESIZE : :: std :: os :: raw :: c_uint = 33 ; pub const NS_STYLE_CURSOR_NS_RESIZE : :: std :: os :: raw :: c_uint = 34 ; pub const NS_STYLE_CURSOR_EW_RESIZE : :: std :: os :: raw :: c_uint = 35 ; pub const NS_STYLE_CURSOR_NONE : :: std :: os :: raw :: c_uint = 36 ; pub const NS_STYLE_DIRECTION_LTR : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DIRECTION_RTL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WRITING_MODE_HORIZONTAL_TB : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WRITING_MODE_VERTICAL_RL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WRITING_MODE_VERTICAL_LR : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_MASK : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_RL : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_WRITING_MODE_SIDEWAYS_LR : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_CONTAIN_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTAIN_STRICT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTAIN_LAYOUT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CONTAIN_STYLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTAIN_PAINT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_CONTAIN_ALL_BITS : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_ALIGN_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ALIGN_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_ALIGN_START : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ALIGN_END : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_ALIGN_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_ALIGN_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_ALIGN_LEFT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_ALIGN_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_ALIGN_BASELINE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_ALIGN_LAST_BASELINE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_ALIGN_STRETCH : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_ALIGN_SELF_START : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_ALIGN_SELF_END : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_ALIGN_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_ALIGN_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_ALIGN_SPACE_EVENLY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_ALIGN_LEGACY : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_ALIGN_SAFE : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_ALIGN_UNSAFE : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_ALIGN_FLAG_BITS : :: std :: os :: raw :: c_uint = 224 ; pub const NS_STYLE_ALIGN_ALL_BITS : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_ALIGN_ALL_SHIFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_JUSTIFY_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_JUSTIFY_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_JUSTIFY_START : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_JUSTIFY_END : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_JUSTIFY_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_JUSTIFY_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_JUSTIFY_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_JUSTIFY_LEFT : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_JUSTIFY_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_JUSTIFY_BASELINE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_JUSTIFY_LAST_BASELINE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_JUSTIFY_STRETCH : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_JUSTIFY_SELF_START : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_JUSTIFY_SELF_END : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_JUSTIFY_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_JUSTIFY_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_JUSTIFY_SPACE_EVENLY : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_JUSTIFY_LEGACY : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_JUSTIFY_SAFE : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_JUSTIFY_UNSAFE : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_JUSTIFY_FLAG_BITS : :: std :: os :: raw :: c_uint = 224 ; pub const NS_STYLE_JUSTIFY_ALL_BITS : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_JUSTIFY_ALL_SHIFT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FLEX_DIRECTION_ROW : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FLEX_DIRECTION_ROW_REVERSE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FLEX_DIRECTION_COLUMN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FLEX_DIRECTION_COLUMN_REVERSE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FLEX_WRAP_NOWRAP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FLEX_WRAP_WRAP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FLEX_WRAP_WRAP_REVERSE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ORDER_INITIAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_JUSTIFY_CONTENT_FLEX_START : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_JUSTIFY_CONTENT_FLEX_END : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_JUSTIFY_CONTENT_CENTER : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_JUSTIFY_CONTENT_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_JUSTIFY_CONTENT_SPACE_AROUND : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_FILTER_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FILTER_URL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FILTER_BLUR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FILTER_BRIGHTNESS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FILTER_CONTRAST : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FILTER_GRAYSCALE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FILTER_INVERT : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FILTER_OPACITY : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FILTER_SATURATE : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FILTER_SEPIA : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FILTER_HUE_ROTATE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FILTER_DROP_SHADOW : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_FONT_STYLE_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_STYLE_ITALIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_STYLE_OBLIQUE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_WEIGHT_NORMAL : :: std :: os :: raw :: c_uint = 400 ; pub const NS_STYLE_FONT_WEIGHT_BOLD : :: std :: os :: raw :: c_uint = 700 ; pub const NS_STYLE_FONT_WEIGHT_BOLDER : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_FONT_WEIGHT_LIGHTER : :: std :: os :: raw :: c_int = -2 ; pub const NS_STYLE_FONT_SIZE_XXSMALL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_SIZE_XSMALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_SIZE_SMALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_SIZE_MEDIUM : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_SIZE_LARGE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_SIZE_XLARGE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FONT_SIZE_XXLARGE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FONT_SIZE_XXXLARGE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FONT_SIZE_LARGER : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FONT_SIZE_SMALLER : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FONT_SIZE_NO_KEYWORD : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FONT_STRETCH_ULTRA_CONDENSED : :: std :: os :: raw :: c_int = -4 ; pub const NS_STYLE_FONT_STRETCH_EXTRA_CONDENSED : :: std :: os :: raw :: c_int = -3 ; pub const NS_STYLE_FONT_STRETCH_CONDENSED : :: std :: os :: raw :: c_int = -2 ; pub const NS_STYLE_FONT_STRETCH_SEMI_CONDENSED : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_FONT_STRETCH_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FONT_STRETCH_SEMI_EXPANDED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_STRETCH_EXPANDED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_STRETCH_EXTRA_EXPANDED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_STRETCH_ULTRA_EXPANDED : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_CAPTION : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FONT_ICON : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FONT_MENU : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FONT_MESSAGE_BOX : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FONT_SMALL_CAPTION : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FONT_STATUS_BAR : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FONT_WINDOW : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FONT_DOCUMENT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_FONT_WORKSPACE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_FONT_DESKTOP : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_FONT_INFO : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_FONT_DIALOG : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_FONT_BUTTON : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_FONT_PULL_DOWN_MENU : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_FONT_LIST : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_FONT_FIELD : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_GRID_AUTO_FLOW_ROW : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRID_AUTO_FLOW_COLUMN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRID_AUTO_FLOW_DENSE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_GRID_TEMPLATE_SUBGRID : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRID_REPEAT_AUTO_FILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRID_REPEAT_AUTO_FIT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_MATHML_DEFAULT_SCRIPT_SIZE_MULTIPLIER : f64 = 0.71 ; pub const NS_MATHML_DEFAULT_SCRIPT_MIN_SIZE_PT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_MATHML_MATHVARIANT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_MATHML_MATHVARIANT_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_MATHML_MATHVARIANT_BOLD : :: std :: os :: raw :: c_uint = 2 ; pub const NS_MATHML_MATHVARIANT_ITALIC : :: std :: os :: raw :: c_uint = 3 ; pub const NS_MATHML_MATHVARIANT_BOLD_ITALIC : :: std :: os :: raw :: c_uint = 4 ; pub const NS_MATHML_MATHVARIANT_SCRIPT : :: std :: os :: raw :: c_uint = 5 ; pub const NS_MATHML_MATHVARIANT_BOLD_SCRIPT : :: std :: os :: raw :: c_uint = 6 ; pub const NS_MATHML_MATHVARIANT_FRAKTUR : :: std :: os :: raw :: c_uint = 7 ; pub const NS_MATHML_MATHVARIANT_DOUBLE_STRUCK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_MATHML_MATHVARIANT_BOLD_FRAKTUR : :: std :: os :: raw :: c_uint = 9 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF : :: std :: os :: raw :: c_uint = 10 ; pub const NS_MATHML_MATHVARIANT_BOLD_SANS_SERIF : :: std :: os :: raw :: c_uint = 11 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF_ITALIC : :: std :: os :: raw :: c_uint = 12 ; pub const NS_MATHML_MATHVARIANT_SANS_SERIF_BOLD_ITALIC : :: std :: os :: raw :: c_uint = 13 ; pub const NS_MATHML_MATHVARIANT_MONOSPACE : :: std :: os :: raw :: c_uint = 14 ; pub const NS_MATHML_MATHVARIANT_INITIAL : :: std :: os :: raw :: c_uint = 15 ; pub const NS_MATHML_MATHVARIANT_TAILED : :: std :: os :: raw :: c_uint = 16 ; pub const NS_MATHML_MATHVARIANT_LOOPED : :: std :: os :: raw :: c_uint = 17 ; pub const NS_MATHML_MATHVARIANT_STRETCHED : :: std :: os :: raw :: c_uint = 18 ; pub const NS_MATHML_DISPLAYSTYLE_INLINE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_MATHML_DISPLAYSTYLE_BLOCK : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WIDTH_MAX_CONTENT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WIDTH_MIN_CONTENT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WIDTH_FIT_CONTENT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WIDTH_AVAILABLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POSITION_STATIC : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POSITION_RELATIVE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_POSITION_ABSOLUTE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_POSITION_FIXED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POSITION_STICKY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CLIP_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CLIP_RECT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CLIP_TYPE_MASK : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_CLIP_LEFT_AUTO : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_CLIP_TOP_AUTO : :: std :: os :: raw :: c_uint = 32 ; pub const NS_STYLE_CLIP_RIGHT_AUTO : :: std :: os :: raw :: c_uint = 64 ; pub const NS_STYLE_CLIP_BOTTOM_AUTO : :: std :: os :: raw :: c_uint = 128 ; pub const NS_STYLE_FRAME_YES : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_FRAME_NO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_FRAME_0 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_FRAME_1 : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_FRAME_ON : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_FRAME_OFF : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_FRAME_AUTO : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_FRAME_SCROLL : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_FRAME_NOSCROLL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_OVERFLOW_VISIBLE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOW_HIDDEN : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OVERFLOW_SCROLL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OVERFLOW_AUTO : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_OVERFLOW_CLIP : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_OVERFLOW_SCROLLBARS_HORIZONTAL : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_OVERFLOW_SCROLLBARS_VERTICAL : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_OVERFLOW_CLIP_BOX_PADDING_BOX : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOW_CLIP_BOX_CONTENT_BOX : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_LIST_STYLE_CUSTOM : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_LIST_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_LIST_STYLE_DECIMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_LIST_STYLE_DISC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_LIST_STYLE_CIRCLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_LIST_STYLE_SQUARE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_LIST_STYLE_DISCLOSURE_CLOSED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_LIST_STYLE_DISCLOSURE_OPEN : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_LIST_STYLE_HEBREW : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_LIST_STYLE_JAPANESE_FORMAL : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANGUL_FORMAL : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANJA_INFORMAL : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_LIST_STYLE_KOREAN_HANJA_FORMAL : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_LIST_STYLE_ETHIOPIC_NUMERIC : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_LIST_STYLE_LOWER_ROMAN : :: std :: os :: raw :: c_uint = 100 ; pub const NS_STYLE_LIST_STYLE_UPPER_ROMAN : :: std :: os :: raw :: c_uint = 101 ; pub const NS_STYLE_LIST_STYLE_LOWER_ALPHA : :: std :: os :: raw :: c_uint = 102 ; pub const NS_STYLE_LIST_STYLE_UPPER_ALPHA : :: std :: os :: raw :: c_uint = 103 ; pub const NS_STYLE_LIST_STYLE_POSITION_INSIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_LIST_STYLE_POSITION_OUTSIDE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MARGIN_SIZE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POINTER_EVENTS_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLEPAINTED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLEFILL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLESTROKE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_POINTER_EVENTS_VISIBLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_POINTER_EVENTS_PAINTED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_POINTER_EVENTS_FILL : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_POINTER_EVENTS_STROKE : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_POINTER_EVENTS_ALL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_POINTER_EVENTS_AUTO : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_IMAGE_ORIENTATION_FLIP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGE_ORIENTATION_FROM_IMAGE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_ISOLATION_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ISOLATION_ISOLATE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OBJECT_FIT_FILL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OBJECT_FIT_CONTAIN : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_OBJECT_FIT_COVER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OBJECT_FIT_NONE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_OBJECT_FIT_SCALE_DOWN : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_RESIZE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RESIZE_BOTH : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RESIZE_HORIZONTAL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_RESIZE_VERTICAL : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_ALIGN_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ALIGN_LEFT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ALIGN_RIGHT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_ALIGN_JUSTIFY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_ALIGN_CHAR : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_ALIGN_END : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_TEXT_ALIGN_AUTO : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_CENTER : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_RIGHT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_LEFT : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_TEXT_ALIGN_MOZ_CENTER_OR_INHERIT : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_TEXT_ALIGN_UNSAFE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_TEXT_ALIGN_MATCH_PARENT : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_TEXT_DECORATION_LINE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_DECORATION_LINE_UNDERLINE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_DECORATION_LINE_OVERLINE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_DECORATION_LINE_LINE_THROUGH : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_DECORATION_LINE_BLINK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_DECORATION_LINE_OVERRIDE_ALL : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_TEXT_DECORATION_LINE_LINES_MASK : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DOTTED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DASHED : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_SOLID : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_DOUBLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_WAVY : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_DECORATION_STYLE_MAX : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_OVERFLOW_CLIP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_OVERFLOW_ELLIPSIS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_OVERFLOW_STRING : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_TRANSFORM_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_TRANSFORM_CAPITALIZE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_TRANSFORM_LOWERCASE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_TRANSFORM_UPPERCASE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_TRANSFORM_FULL_WIDTH : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TOUCH_ACTION_NONE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TOUCH_ACTION_AUTO : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TOUCH_ACTION_PAN_X : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TOUCH_ACTION_PAN_Y : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TOUCH_ACTION_MANIPULATION : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_TOP_LAYER_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TOP_LAYER_TOP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_LINEAR : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_IN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_OUT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_IN_OUT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_START : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_END : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_VERTICAL_ALIGN_BASELINE : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_VERTICAL_ALIGN_SUB : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_VERTICAL_ALIGN_SUPER : :: std :: os :: raw :: c_uint = 16 ; pub const NS_STYLE_VERTICAL_ALIGN_TOP : :: std :: os :: raw :: c_uint = 17 ; pub const NS_STYLE_VERTICAL_ALIGN_TEXT_TOP : :: std :: os :: raw :: c_uint = 18 ; pub const NS_STYLE_VERTICAL_ALIGN_MIDDLE : :: std :: os :: raw :: c_uint = 19 ; pub const NS_STYLE_VERTICAL_ALIGN_TEXT_BOTTOM : :: std :: os :: raw :: c_uint = 20 ; pub const NS_STYLE_VERTICAL_ALIGN_BOTTOM : :: std :: os :: raw :: c_uint = 21 ; pub const NS_STYLE_VERTICAL_ALIGN_MIDDLE_WITH_BASELINE : :: std :: os :: raw :: c_uint = 22 ; pub const NS_STYLE_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_VISIBILITY_COLLAPSE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TABSIZE_INITIAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WORDBREAK_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WORDBREAK_BREAK_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WORDBREAK_KEEP_ALL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_OVERFLOWWRAP_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_OVERFLOWWRAP_BREAK_WORD : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_ALIGN_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RUBY_ALIGN_CENTER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_ALIGN_SPACE_BETWEEN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_RUBY_ALIGN_SPACE_AROUND : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_RUBY_POSITION_OVER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_RUBY_POSITION_UNDER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_RUBY_POSITION_INTER_CHARACTER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_SIZE_ADJUST_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_SIZE_ADJUST_AUTO : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ORIENTATION_MIXED : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ORIENTATION_UPRIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ORIENTATION_SIDEWAYS : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_2 : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_3 : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_4 : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_LINE_HEIGHT_BLOCK_HEIGHT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_UNICODE_BIDI_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_UNICODE_BIDI_EMBED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_UNICODE_BIDI_ISOLATE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_UNICODE_BIDI_BIDI_OVERRIDE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_UNICODE_BIDI_ISOLATE_OVERRIDE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_UNICODE_BIDI_PLAINTEXT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TABLE_LAYOUT_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TABLE_LAYOUT_FIXED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TABLE_EMPTY_CELLS_HIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TABLE_EMPTY_CELLS_SHOW : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CAPTION_SIDE_TOP : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CAPTION_SIDE_RIGHT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CAPTION_SIDE_BOTTOM : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CAPTION_SIDE_LEFT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CAPTION_SIDE_TOP_OUTSIDE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CAPTION_SIDE_BOTTOM_OUTSIDE : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_CELL_SCOPE_ROW : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CELL_SCOPE_COL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CELL_SCOPE_ROWGROUP : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CELL_SCOPE_COLGROUP : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAGE_MARKS_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_MARKS_CROP : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_MARKS_REGISTER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_SIZE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_SIZE_PORTRAIT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_SIZE_LANDSCAPE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_BREAK_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAGE_BREAK_ALWAYS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAGE_BREAK_AVOID : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAGE_BREAK_LEFT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAGE_BREAK_RIGHT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_COLUMN_COUNT_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_COUNT_UNLIMITED : :: std :: os :: raw :: c_int = -1 ; pub const NS_STYLE_COLUMN_FILL_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_FILL_BALANCE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLUMN_SPAN_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLUMN_SPAN_ALL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IME_MODE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IME_MODE_NORMAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IME_MODE_ACTIVE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IME_MODE_DISABLED : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_IME_MODE_INACTIVE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_GRADIENT_SHAPE_LINEAR : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRADIENT_SHAPE_ELLIPTICAL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRADIENT_SHAPE_CIRCULAR : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRADIENT_SIZE_CLOSEST_SIDE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_GRADIENT_SIZE_CLOSEST_CORNER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_GRADIENT_SIZE_FARTHEST_SIDE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_GRADIENT_SIZE_FARTHEST_CORNER : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_GRADIENT_SIZE_EXPLICIT_SIZE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTEXT_PROPERTY_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTEXT_PROPERTY_STROKE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_CONTEXT_PROPERTY_FILL_OPACITY : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_CONTEXT_PROPERTY_STROKE_OPACITY : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_WINDOW_SHADOW_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_WINDOW_SHADOW_DEFAULT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_WINDOW_SHADOW_MENU : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_WINDOW_SHADOW_TOOLTIP : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_WINDOW_SHADOW_SHEET : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_DOMINANT_BASELINE_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DOMINANT_BASELINE_USE_SCRIPT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DOMINANT_BASELINE_NO_CHANGE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_DOMINANT_BASELINE_RESET_SIZE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_DOMINANT_BASELINE_IDEOGRAPHIC : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_DOMINANT_BASELINE_ALPHABETIC : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_DOMINANT_BASELINE_HANGING : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_DOMINANT_BASELINE_MATHEMATICAL : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_DOMINANT_BASELINE_CENTRAL : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_DOMINANT_BASELINE_MIDDLE : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_DOMINANT_BASELINE_TEXT_AFTER_EDGE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_DOMINANT_BASELINE_TEXT_BEFORE_EDGE : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_IMAGE_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_IMAGE_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_IMAGE_RENDERING_OPTIMIZEQUALITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_IMAGE_RENDERING_CRISPEDGES : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_MASK_TYPE_LUMINANCE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_TYPE_ALPHA : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAINT_ORDER_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_PAINT_ORDER_FILL : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_PAINT_ORDER_STROKE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_PAINT_ORDER_MARKERS : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAINT_ORDER_LAST_VALUE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_PAINT_ORDER_BITWIDTH : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_SHAPE_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SHAPE_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SHAPE_RENDERING_CRISPEDGES : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_SHAPE_RENDERING_GEOMETRICPRECISION : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_STROKE_LINECAP_BUTT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_STROKE_LINECAP_ROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_STROKE_LINECAP_SQUARE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_STROKE_LINEJOIN_MITER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_STROKE_LINEJOIN_ROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_STROKE_LINEJOIN_BEVEL : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_STROKE_PROP_CONTEXT_VALUE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ANCHOR_START : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_ANCHOR_MIDDLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_ANCHOR_END : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_OVER : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_UNDER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_LEFT : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_RIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT_ZH : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_FILL_MASK : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_FILLED : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_OPEN : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_SHAPE_MASK : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_DOT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_CIRCLE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_DOUBLE_CIRCLE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_TRIANGLE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_SESAME : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_TEXT_EMPHASIS_STYLE_STRING : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_TEXT_RENDERING_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TEXT_RENDERING_OPTIMIZESPEED : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_TEXT_RENDERING_OPTIMIZELEGIBILITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_TEXT_RENDERING_GEOMETRICPRECISION : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COLOR_ADJUST_ECONOMY : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLOR_ADJUST_EXACT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INTERPOLATION_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COLOR_INTERPOLATION_SRGB : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COLOR_INTERPOLATION_LINEARRGB : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_VECTOR_EFFECT_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_VECTOR_EFFECT_NON_SCALING_STROKE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BACKFACE_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BACKFACE_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSFORM_STYLE_FLAT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_TRANSFORM_STYLE_PRESERVE_3D : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_CONTEXT_FILL_OPACITY : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTEXT_STROKE_OPACITY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BLEND_NORMAL : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_BLEND_MULTIPLY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_BLEND_SCREEN : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_BLEND_OVERLAY : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_BLEND_DARKEN : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_BLEND_LIGHTEN : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_BLEND_COLOR_DODGE : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_BLEND_COLOR_BURN : :: std :: os :: raw :: c_uint = 7 ; pub const NS_STYLE_BLEND_HARD_LIGHT : :: std :: os :: raw :: c_uint = 8 ; pub const NS_STYLE_BLEND_SOFT_LIGHT : :: std :: os :: raw :: c_uint = 9 ; pub const NS_STYLE_BLEND_DIFFERENCE : :: std :: os :: raw :: c_uint = 10 ; pub const NS_STYLE_BLEND_EXCLUSION : :: std :: os :: raw :: c_uint = 11 ; pub const NS_STYLE_BLEND_HUE : :: std :: os :: raw :: c_uint = 12 ; pub const NS_STYLE_BLEND_SATURATION : :: std :: os :: raw :: c_uint = 13 ; pub const NS_STYLE_BLEND_COLOR : :: std :: os :: raw :: c_uint = 14 ; pub const NS_STYLE_BLEND_LUMINOSITY : :: std :: os :: raw :: c_uint = 15 ; pub const NS_STYLE_MASK_COMPOSITE_ADD : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_MASK_COMPOSITE_SUBTRACT : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_MASK_COMPOSITE_INTERSECT : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_MASK_COMPOSITE_EXCLUDE : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_CONTROL_CHARACTER_VISIBILITY_HIDDEN : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_CONTROL_CHARACTER_VISIBILITY_VISIBLE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SYSTEM_CYCLIC : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SYSTEM_NUMERIC : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SYSTEM_ALPHABETIC : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_COUNTER_SYSTEM_SYMBOLIC : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COUNTER_SYSTEM_ADDITIVE : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_COUNTER_SYSTEM_FIXED : :: std :: os :: raw :: c_uint = 5 ; pub const NS_STYLE_COUNTER_SYSTEM_EXTENDS : :: std :: os :: raw :: c_uint = 6 ; pub const NS_STYLE_COUNTER_RANGE_INFINITE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SPEAKAS_BULLETS : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_COUNTER_SPEAKAS_NUMBERS : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_COUNTER_SPEAKAS_WORDS : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_COUNTER_SPEAKAS_SPELL_OUT : :: std :: os :: raw :: c_uint = 3 ; pub const NS_STYLE_COUNTER_SPEAKAS_OTHER : :: std :: os :: raw :: c_uint = 255 ; pub const NS_STYLE_SCROLL_BEHAVIOR_AUTO : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCROLL_BEHAVIOR_SMOOTH : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_NONE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_MANDATORY : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCROLL_SNAP_TYPE_PROXIMITY : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_ORIENTATION_PORTRAIT : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_ORIENTATION_LANDSCAPE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_SCAN_PROGRESSIVE : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_SCAN_INTERLACE : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DISPLAY_MODE_BROWSER : :: std :: os :: raw :: c_uint = 0 ; pub const NS_STYLE_DISPLAY_MODE_MINIMAL_UI : :: std :: os :: raw :: c_uint = 1 ; pub const NS_STYLE_DISPLAY_MODE_STANDALONE : :: std :: os :: raw :: c_uint = 2 ; pub const NS_STYLE_DISPLAY_MODE_FULLSCREEN : :: std :: os :: raw :: c_uint = 3 ; pub const CSS_PSEUDO_ELEMENT_IS_CSS2 : :: std :: os :: raw :: c_uint = 1 ; pub const CSS_PSEUDO_ELEMENT_CONTAINS_ELEMENTS : :: std :: os :: raw :: c_uint = 2 ; pub const CSS_PSEUDO_ELEMENT_SUPPORTS_STYLE_ATTRIBUTE : :: std :: os :: raw :: c_uint = 4 ; pub const CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE : :: std :: os :: raw :: c_uint = 8 ; pub const CSS_PSEUDO_ELEMENT_UA_SHEET_ONLY : :: std :: os :: raw :: c_uint = 16 ; pub const CSS_PSEUDO_ELEMENT_IS_JS_CREATED_NAC : :: std :: os :: raw :: c_uint = 32 ; pub const CSS_PSEUDO_ELEMENT_IS_FLEX_OR_GRID_ITEM : :: std :: os :: raw :: c_uint = 64 ; pub const kNameSpaceID_Unknown : :: std :: os :: raw :: c_int = -1 ; pub const kNameSpaceID_XMLNS : :: std :: os :: raw :: c_uint = 1 ; pub const kNameSpaceID_XML : :: std :: os :: raw :: c_uint = 2 ; pub const kNameSpaceID_XHTML : :: std :: os :: raw :: c_uint = 3 ; pub const kNameSpaceID_XLink : :: std :: os :: raw :: c_uint = 4 ; pub const kNameSpaceID_XSLT : :: std :: os :: raw :: c_uint = 5 ; pub const kNameSpaceID_XBL : :: std :: os :: raw :: c_uint = 6 ; pub const kNameSpaceID_MathML : :: std :: os :: raw :: c_uint = 7 ; pub const kNameSpaceID_RDF : :: std :: os :: raw :: c_uint = 8 ; pub const kNameSpaceID_XUL : :: std :: os :: raw :: c_uint = 9 ; pub const kNameSpaceID_SVG : :: std :: os :: raw :: c_uint = 10 ; pub const kNameSpaceID_disabled_MathML : :: std :: os :: raw :: c_uint = 11 ; pub const kNameSpaceID_disabled_SVG : :: std :: os :: raw :: c_uint = 12 ; pub const kNameSpaceID_LastBuiltin : :: std :: os :: raw :: c_uint = 12 ; pub const kNameSpaceID_Wildcard : :: std :: os :: raw :: c_int = -2147483648 ; pub const NS_AUTHOR_SPECIFIED_BACKGROUND : :: std :: os :: raw :: c_uint = 1 ; pub const NS_AUTHOR_SPECIFIED_BORDER : :: std :: os :: raw :: c_uint = 2 ; pub const NS_AUTHOR_SPECIFIED_PADDING : :: std :: os :: raw :: c_uint = 4 ; pub const NS_STYLE_INHERIT_MASK : :: std :: os :: raw :: c_uint = 16777215 ; pub const NS_STYLE_HAS_TEXT_DECORATION_LINES : :: std :: os :: raw :: c_uint = 16777216 ; pub const NS_STYLE_HAS_PSEUDO_ELEMENT_DATA : :: std :: os :: raw :: c_uint = 33554432 ; pub const NS_STYLE_RELEVANT_LINK_VISITED : :: std :: os :: raw :: c_uint = 67108864 ; pub const NS_STYLE_IS_STYLE_IF_VISITED : :: std :: os :: raw :: c_uint = 134217728 ; pub const NS_STYLE_CHILD_USES_GRANDANCESTOR_STYLE : :: std :: os :: raw :: c_uint = 268435456 ; pub const NS_STYLE_IS_SHARED : :: std :: os :: raw :: c_uint = 536870912 ; pub const NS_STYLE_IS_GOING_AWAY : :: std :: os :: raw :: c_uint = 1073741824 ; pub const NS_STYLE_SUPPRESS_LINEBREAK : :: std :: os :: raw :: c_uint = 2147483648 ; pub const NS_STYLE_IN_DISPLAY_NONE_SUBTREE : :: std :: os :: raw :: c_ulonglong = 4294967296 ; pub const NS_STYLE_INELIGIBLE_FOR_SHARING : :: std :: os :: raw :: c_ulonglong = 8589934592 ; pub const NS_STYLE_HAS_CHILD_THAT_USES_RESET_STYLE : :: std :: os :: raw :: c_ulonglong = 17179869184 ; pub const NS_STYLE_IS_TEXT_COMBINED : :: std :: os :: raw :: c_ulonglong = 34359738368 ; pub const NS_STYLE_CONTEXT_IS_GECKO : :: std :: os :: raw :: c_ulonglong = 68719476736 ; pub const NS_STYLE_CONTEXT_TYPE_SHIFT : :: std :: os :: raw :: c_uint = 37 ; pub mod std { # [ allow ( unused_imports ) ] use self :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pair < _T1 , _T2 > { pub first : _T1 , pub second : _T2 , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < _T1 > > , pub _phantom_1 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < _T2 > > , } pub type pair_first_type < _T1 > = _T1 ; pub type pair_second_type < _T2 > = _T2 ; pub type pair__PCCP = u8 ; pub type pair__PCCFP = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct input_iterator_tag { pub _address : u8 , } # [ test ] fn bindgen_test_layout_input_iterator_tag ( ) { assert_eq ! ( :: std :: mem :: size_of :: < input_iterator_tag > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( input_iterator_tag ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < input_iterator_tag > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( input_iterator_tag ) ) ) ; } impl Clone for input_iterator_tag { fn clone ( & self ) -> Self { * self } } # [ 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 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct atomic { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct function { pub _address : u8 , } pub type _Base_bitset__WordT = :: std :: os :: raw :: c_ulong ; pub type bitset__Base = u8 ; pub type bitset__WordT = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct bitset_reference { pub _M_wp : * mut root :: std :: bitset__WordT , pub _M_bpos : usize , } } pub mod __gnu_cxx { # [ allow ( unused_imports ) ] use self :: super :: super :: root ; } pub mod mozilla { # [ allow ( unused_imports ) ] use self :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct fallible_t { pub _address : u8 , } # [ test ] fn bindgen_test_layout_fallible_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fallible_t > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( fallible_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fallible_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( fallible_t ) ) ) ; } impl Clone for fallible_t { fn clone ( & self ) -> Self { * self } } pub type IntegralConstant_ValueType < T > = T ; pub type IntegralConstant_Type = u8 ; /// Convenient aliases. pub type TrueType = u8 ; pub type FalseType = u8 ; pub mod detail { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; pub const StringDataFlags_TERMINATED : root :: mozilla :: detail :: StringDataFlags = 1 ; pub const StringDataFlags_VOIDED : root :: mozilla :: detail :: StringDataFlags = 2 ; pub const StringDataFlags_SHARED : root :: mozilla :: detail :: StringDataFlags = 4 ; pub const StringDataFlags_OWNED : root :: mozilla :: detail :: StringDataFlags = 8 ; pub const StringDataFlags_INLINE : root :: mozilla :: detail :: StringDataFlags = 16 ; pub const StringDataFlags_LITERAL : root :: mozilla :: detail :: StringDataFlags = 32 ; pub type StringDataFlags = u16 ; pub const StringClassFlags_INLINE : root :: mozilla :: detail :: StringClassFlags = 1 ; pub const StringClassFlags_NULL_TERMINATED : root :: mozilla :: detail :: StringClassFlags = 2 ; pub type StringClassFlags = u16 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsTStringRepr < T > { pub mData : * mut root :: mozilla :: detail :: nsTStringRepr_char_type < T > , pub mLength : root :: mozilla :: detail :: nsTStringRepr_size_type , pub mDataFlags : root :: mozilla :: detail :: nsTStringRepr_DataFlags , pub mClassFlags : root :: mozilla :: detail :: nsTStringRepr_ClassFlags , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } pub type nsTStringRepr_fallible_t = root :: mozilla :: fallible_t ; pub type nsTStringRepr_char_type < T > = T ; pub type nsTStringRepr_self_type < T > = root :: mozilla :: detail :: nsTStringRepr < T > ; pub type nsTStringRepr_base_string_type < T > = root :: mozilla :: detail :: nsTStringRepr_self_type < T > ; pub type nsTStringRepr_substring_type < T > = root :: nsTSubstring < T > ; pub type nsTStringRepr_substring_tuple_type < T > = root :: nsTSubstringTuple < T > ; pub type nsTStringRepr_literalstring_type < T > = root :: nsTLiteralString < T > ; pub type nsTStringRepr_const_iterator < T > = root :: nsReadingIterator < root :: mozilla :: detail :: nsTStringRepr_char_type < T > > ; pub type nsTStringRepr_iterator < T > = root :: nsWritingIterator < root :: mozilla :: detail :: nsTStringRepr_char_type < T > > ; pub type nsTStringRepr_comparator_type = root :: nsTStringComparator ; pub type nsTStringRepr_char_iterator < T > = * mut root :: mozilla :: detail :: nsTStringRepr_char_type < T > ; pub type nsTStringRepr_const_char_iterator < T > = * const root :: mozilla :: detail :: nsTStringRepr_char_type < T > ; pub type nsTStringRepr_index_type = u32 ; pub type nsTStringRepr_size_type = u32 ; pub use self :: super :: super :: super :: root :: mozilla :: detail :: StringDataFlags as nsTStringRepr_DataFlags ; pub use self :: super :: super :: super :: root :: mozilla :: detail :: StringClassFlags as nsTStringRepr_ClassFlags ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsTStringRepr_raw_type { pub _address : u8 , } pub type nsTStringRepr_raw_type_type < U > = * mut U ; /// LinkedList supports refcounted elements using this adapter class. Clients @@ -70,15 +67,15 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum SheetParsingMode { eAuthorSheetFeatures = 0 , eUserSheetFeatures = 1 , eAgentSheetFeatures = 2 , eSafeAgentSheetFeatures = 3 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct GroupRule { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ImageLoader { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct URLValueData__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct URLValueData { pub vtable_ : * const URLValueData__bindgen_vtable , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mURI : root :: nsMainThreadPtrHandle < root :: nsIURI > , pub mExtraData : root :: RefPtr < root :: mozilla :: URLExtraData > , pub mURIResolved : bool , pub mIsLocalRef : [ u8 ; 2usize ] , pub mMightHaveRef : [ u8 ; 2usize ] , pub mStrings : root :: mozilla :: css :: URLValueData_RustOrGeckoString , pub mUsingRustString : bool , pub mLoadedImage : bool , } pub type URLValueData_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct URLValueData_RustOrGeckoString { pub mString : root :: __BindgenUnionField < ::nsstring::nsStringRepr > , pub mRustString : root :: __BindgenUnionField < ::gecko_bindings::structs::ServoRawOffsetArc < root :: RustString > > , pub bindgen_union_field : [ u64 ; 2usize ] , } # [ test ] fn bindgen_test_layout_URLValueData_RustOrGeckoString ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLValueData_RustOrGeckoString > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( URLValueData_RustOrGeckoString ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLValueData_RustOrGeckoString > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLValueData_RustOrGeckoString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData_RustOrGeckoString ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData_RustOrGeckoString ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData_RustOrGeckoString ) ) . mRustString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData_RustOrGeckoString ) , "::" , stringify ! ( mRustString ) ) ) ; } # [ test ] fn bindgen_test_layout_URLValueData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLValueData > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( URLValueData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLValueData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLValueData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mRefCnt as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mURI as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mExtraData as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mExtraData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mURIResolved as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mURIResolved ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mIsLocalRef as * const _ as usize } , 33usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mIsLocalRef ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mMightHaveRef as * const _ as usize } , 35usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mMightHaveRef ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mStrings as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mStrings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mUsingRustString as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mUsingRustString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLValueData ) ) . mLoadedImage as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( URLValueData ) , "::" , stringify ! ( mLoadedImage ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct URLValue { pub _base : root :: mozilla :: css :: URLValueData , } # [ test ] fn bindgen_test_layout_URLValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLValue > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( URLValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLValue ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ImageValue { pub _base : root :: mozilla :: css :: URLValueData , pub mRequests : [ u64 ; 4usize ] , } # [ test ] fn bindgen_test_layout_ImageValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ImageValue > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( ImageValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ImageValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ImageValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ImageValue ) ) . mRequests as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ImageValue ) , "::" , stringify ! ( mRequests ) ) ) ; } # [ repr ( C ) ] pub struct GridNamedArea { pub mName : ::nsstring::nsStringRepr , pub mColumnStart : u32 , pub mColumnEnd : u32 , pub mRowStart : u32 , pub mRowEnd : u32 , } # [ test ] fn bindgen_test_layout_GridNamedArea ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GridNamedArea > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( GridNamedArea ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GridNamedArea > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GridNamedArea ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridNamedArea ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GridNamedArea ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridNamedArea ) ) . mColumnStart as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( GridNamedArea ) , "::" , stringify ! ( mColumnStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridNamedArea ) ) . mColumnEnd as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( GridNamedArea ) , "::" , stringify ! ( mColumnEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridNamedArea ) ) . mRowStart as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( GridNamedArea ) , "::" , stringify ! ( mRowStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridNamedArea ) ) . mRowEnd as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( GridNamedArea ) , "::" , stringify ! ( mRowEnd ) ) ) ; } # [ repr ( C ) ] pub struct GridTemplateAreasValue { pub mNamedAreas : root :: nsTArray < root :: mozilla :: css :: GridNamedArea > , pub mTemplates : root :: nsTArray < ::nsstring::nsStringRepr > , pub mNColumns : u32 , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , } pub type GridTemplateAreasValue_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_GridTemplateAreasValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GridTemplateAreasValue > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( GridTemplateAreasValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GridTemplateAreasValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GridTemplateAreasValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridTemplateAreasValue ) ) . mNamedAreas as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GridTemplateAreasValue ) , "::" , stringify ! ( mNamedAreas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridTemplateAreasValue ) ) . mTemplates as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( GridTemplateAreasValue ) , "::" , stringify ! ( mTemplates ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridTemplateAreasValue ) ) . mNColumns as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( GridTemplateAreasValue ) , "::" , stringify ! ( mNColumns ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GridTemplateAreasValue ) ) . mRefCnt as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( GridTemplateAreasValue ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct RGBAColorData { pub mR : f32 , pub mG : f32 , pub mB : f32 , pub mA : f32 , } # [ test ] fn bindgen_test_layout_RGBAColorData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < RGBAColorData > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( RGBAColorData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < RGBAColorData > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( RGBAColorData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const RGBAColorData ) ) . mR as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( RGBAColorData ) , "::" , stringify ! ( mR ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const RGBAColorData ) ) . mG as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( RGBAColorData ) , "::" , stringify ! ( mG ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const RGBAColorData ) ) . mB as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( RGBAColorData ) , "::" , stringify ! ( mB ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const RGBAColorData ) ) . mA as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( RGBAColorData ) , "::" , stringify ! ( mA ) ) ) ; } impl Clone for RGBAColorData { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ComplexColorData { pub mColor : root :: mozilla :: css :: RGBAColorData , pub mForegroundRatio : f32 , } # [ test ] fn bindgen_test_layout_ComplexColorData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ComplexColorData > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( ComplexColorData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ComplexColorData > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ComplexColorData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComplexColorData ) ) . mColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ComplexColorData ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComplexColorData ) ) . mForegroundRatio as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ComplexColorData ) , "::" , stringify ! ( mForegroundRatio ) ) ) ; } impl Clone for ComplexColorData { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ComplexColorValue { pub _base : root :: mozilla :: css :: ComplexColorData , pub mRefCnt : root :: nsAutoRefCnt , } pub type ComplexColorValue_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_ComplexColorValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ComplexColorValue > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ComplexColorValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ComplexColorValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ComplexColorValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComplexColorValue ) ) . mRefCnt as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ComplexColorValue ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SheetLoadData { _unused : [ u8 ; 0 ] } /// Style sheet reuse * # [ repr ( C ) ] pub struct LoaderReusableStyleSheets { pub mReusableSheets : root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > , } # [ test ] fn bindgen_test_layout_LoaderReusableStyleSheets ( ) { assert_eq ! ( :: std :: mem :: size_of :: < LoaderReusableStyleSheets > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( LoaderReusableStyleSheets ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < LoaderReusableStyleSheets > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( LoaderReusableStyleSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const LoaderReusableStyleSheets ) ) . mReusableSheets as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( LoaderReusableStyleSheets ) , "::" , stringify ! ( mReusableSheets ) ) ) ; } # [ repr ( C ) ] pub struct Loader { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mSheets : root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > , pub mParsingDatas : [ u64 ; 10usize ] , pub mPostedEvents : root :: mozilla :: css :: Loader_LoadDataArray , pub mObservers : [ u64 ; 2usize ] , pub mDocument : * mut root :: nsIDocument , pub mDocGroup : root :: RefPtr < root :: mozilla :: dom :: DocGroup > , pub mDatasToNotifyOn : u32 , pub mCompatMode : root :: nsCompatibility , pub mPreferredSheet : ::nsstring::nsStringRepr , pub mStyleBackendType : [ u8 ; 2usize ] , pub mEnabled : bool , pub mReporter : root :: nsCOMPtr , } pub use self :: super :: super :: super :: root :: mozilla :: net :: ReferrerPolicy as Loader_ReferrerPolicy ; pub type Loader_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct Loader_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_Loader_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Loader_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( Loader_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Loader_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Loader_cycleCollection ) ) ) ; } impl Clone for Loader_cycleCollection { fn clone ( & self ) -> Self { * self } } pub type Loader_LoadDataArray = root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct Loader_Sheets { pub mCompleteSheets : [ u64 ; 4usize ] , pub mLoadingDatas : [ u64 ; 4usize ] , pub mPendingDatas : [ u64 ; 4usize ] , } # [ test ] fn bindgen_test_layout_Loader_Sheets ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Loader_Sheets > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( Loader_Sheets ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Loader_Sheets > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Loader_Sheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader_Sheets ) ) . mCompleteSheets as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( Loader_Sheets ) , "::" , stringify ! ( mCompleteSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader_Sheets ) ) . mLoadingDatas as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( Loader_Sheets ) , "::" , stringify ! ( mLoadingDatas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader_Sheets ) ) . mPendingDatas as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( Loader_Sheets ) , "::" , stringify ! ( mPendingDatas ) ) ) ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla3css6Loader21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN7mozilla3css6Loader21_cycleCollectorGlobalE" ] pub static mut Loader__cycleCollectorGlobal : root :: mozilla :: css :: Loader_cycleCollection ; } # [ test ] fn bindgen_test_layout_Loader ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Loader > ( ) , 176usize , concat ! ( "Size of: " , stringify ! ( Loader ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Loader > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Loader ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mSheets as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mParsingDatas as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mParsingDatas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mPostedEvents as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mPostedEvents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mObservers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mObservers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mDocument as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mDocGroup as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mDocGroup ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mDatasToNotifyOn as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mDatasToNotifyOn ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mCompatMode as * const _ as usize } , 140usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mCompatMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mPreferredSheet as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mPreferredSheet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mStyleBackendType as * const _ as usize } , 160usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mStyleBackendType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mEnabled as * const _ as usize } , 162usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Loader ) ) . mReporter as * const _ as usize } , 168usize , concat ! ( "Alignment of field: " , stringify ! ( Loader ) , "::" , stringify ! ( mReporter ) ) ) ; } # [ repr ( C ) ] pub struct ErrorReporter { pub mError : root :: nsAutoString , pub mErrorLine : ::nsstring::nsStringRepr , pub mFileName : ::nsstring::nsStringRepr , pub mScanner : * const root :: nsCSSScanner , pub mSheet : * const root :: mozilla :: StyleSheet , pub mLoader : * const root :: mozilla :: css :: Loader , pub mURI : * mut root :: nsIURI , pub mInnerWindowID : u64 , pub mErrorLineNumber : u32 , pub mPrevErrorLineNumber : u32 , pub mErrorColNumber : u32 , } # [ test ] fn bindgen_test_layout_ErrorReporter ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ErrorReporter > ( ) , 240usize , concat ! ( "Size of: " , stringify ! ( ErrorReporter ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ErrorReporter > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ErrorReporter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mError as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mError ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mErrorLine as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mErrorLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mFileName as * const _ as usize } , 168usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mFileName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mScanner as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mScanner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mSheet as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mSheet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mLoader as * const _ as usize } , 200usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mLoader ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mURI as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mInnerWindowID as * const _ as usize } , 216usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mInnerWindowID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mErrorLineNumber as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mErrorLineNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mPrevErrorLineNumber as * const _ as usize } , 228usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mPrevErrorLineNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ErrorReporter ) ) . mErrorColNumber as * const _ as usize } , 232usize , concat ! ( "Alignment of field: " , stringify ! ( ErrorReporter ) , "::" , stringify ! ( mErrorColNumber ) ) ) ; } # [ repr ( i32 ) ] /// Enum defining the type of URL matching function for a @-moz-document rule /// condition. # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum URLMatchingFunction { eURL = 0 , eURLPrefix = 1 , eDomain = 2 , eRegExp = 3 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct Rule { pub _base : root :: nsIDOMCSSRule , pub _base_1 : root :: nsWrapperCache , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mSheet : * mut root :: mozilla :: StyleSheet , pub mParentRule : * mut root :: mozilla :: css :: GroupRule , pub mLineNumber : u32 , pub mColumnNumber : u32 , } pub type Rule_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct Rule_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_Rule_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Rule_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( Rule_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Rule_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Rule_cycleCollection ) ) ) ; } impl Clone for Rule_cycleCollection { fn clone ( & self ) -> Self { * self } } pub const Rule_UNKNOWN_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 0 ; pub const Rule_CHARSET_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 1 ; pub const Rule_IMPORT_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 2 ; pub const Rule_NAMESPACE_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 3 ; pub const Rule_STYLE_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 4 ; pub const Rule_MEDIA_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 5 ; pub const Rule_FONT_FACE_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 6 ; pub const Rule_PAGE_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 7 ; pub const Rule_KEYFRAME_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 8 ; pub const Rule_KEYFRAMES_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 9 ; pub const Rule_DOCUMENT_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 10 ; pub const Rule_SUPPORTS_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 11 ; pub const Rule_FONT_FEATURE_VALUES_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 12 ; pub const Rule_COUNTER_STYLE_RULE : root :: mozilla :: css :: Rule__bindgen_ty_1 = 13 ; pub type Rule__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}__ZN7mozilla3css4Rule21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN7mozilla3css4Rule21_cycleCollectorGlobalE" ] pub static mut Rule__cycleCollectorGlobal : root :: mozilla :: css :: Rule_cycleCollection ; -} # [ test ] fn bindgen_test_layout_Rule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Rule > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( Rule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Rule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Rule ) ) ) ; } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ThreadSafeAutoRefCnt { pub mValue : u64 , } pub const ThreadSafeAutoRefCnt_isThreadSafe : bool = true ; # [ test ] fn bindgen_test_layout_ThreadSafeAutoRefCnt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ThreadSafeAutoRefCnt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ThreadSafeAutoRefCnt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ThreadSafeAutoRefCnt > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ThreadSafeAutoRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ThreadSafeAutoRefCnt ) ) . mValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ThreadSafeAutoRefCnt ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for ThreadSafeAutoRefCnt { fn clone ( & self ) -> Self { * self } } pub type EnumeratedArray_ArrayType = u8 ; pub type EnumeratedArray_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_const_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_reverse_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_const_reverse_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct LinkedListElement { pub mNext : * mut root :: mozilla :: LinkedListElement , pub mPrev : * mut root :: mozilla :: LinkedListElement , pub mIsSentinel : bool , } pub type LinkedListElement_Traits = root :: mozilla :: detail :: LinkedListElementTraits ; pub type LinkedListElement_RawType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ConstRawType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ClientType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ConstClientType = root :: mozilla :: LinkedListElement_Traits ; pub const LinkedListElement_NodeKind_Normal : root :: mozilla :: LinkedListElement_NodeKind = 0 ; pub const LinkedListElement_NodeKind_Sentinel : root :: mozilla :: LinkedListElement_NodeKind = 0 ; pub type LinkedListElement_NodeKind = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct LinkedList { pub sentinel : root :: mozilla :: LinkedListElement , } pub type LinkedList_Traits = root :: mozilla :: detail :: LinkedListElementTraits ; pub type LinkedList_RawType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ConstRawType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ClientType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ConstClientType = root :: mozilla :: LinkedList_Traits ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct LinkedList_Iterator { pub mCurrent : root :: mozilla :: LinkedList_RawType , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Maybe { pub _address : u8 , } pub type Maybe_ValueType < T > = T ; pub mod gfx { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; pub type Float = f32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FontVariation { pub mTag : u32 , pub mValue : f32 , } # [ test ] fn bindgen_test_layout_FontVariation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontVariation > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( FontVariation ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontVariation > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FontVariation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontVariation ) ) . mTag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontVariation ) , "::" , stringify ! ( mTag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontVariation ) ) . mValue as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FontVariation ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for FontVariation { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SourceSurface { _unused : [ u8 ; 0 ] } } pub mod layers { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct LayerManager { _unused : [ u8 ; 0 ] } } pub mod dom { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct AllOwningUnionBase { pub _address : u8 , } # [ test ] fn bindgen_test_layout_AllOwningUnionBase ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AllOwningUnionBase > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( AllOwningUnionBase ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AllOwningUnionBase > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( AllOwningUnionBase ) ) ) ; } impl Clone for AllOwningUnionBase { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GlobalObject { pub mGlobalJSObject : [ u64 ; 3usize ] , pub mCx : * mut root :: JSContext , pub mGlobalObject : * mut root :: nsISupports , } # [ test ] fn bindgen_test_layout_GlobalObject ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GlobalObject > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( GlobalObject ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GlobalObject > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GlobalObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mGlobalJSObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mGlobalJSObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mCx as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mCx ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mGlobalObject as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mGlobalObject ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Sequence { pub _address : u8 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CallerType { System = 0 , NonSystem = 1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Nullable { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ClientSource { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CSSImportRule { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ShadowRoot { _unused : [ u8 ; 0 ] } +} # [ test ] fn bindgen_test_layout_Rule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Rule > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( Rule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Rule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Rule ) ) ) ; } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ThreadSafeAutoRefCnt { pub mValue : u64 , } pub const ThreadSafeAutoRefCnt_isThreadSafe : bool = true ; # [ test ] fn bindgen_test_layout_ThreadSafeAutoRefCnt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ThreadSafeAutoRefCnt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ThreadSafeAutoRefCnt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ThreadSafeAutoRefCnt > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ThreadSafeAutoRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ThreadSafeAutoRefCnt ) ) . mValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ThreadSafeAutoRefCnt ) , "::" , stringify ! ( mValue ) ) ) ; } pub type EnumeratedArray_ArrayType = u8 ; pub type EnumeratedArray_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_const_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_reverse_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; pub type EnumeratedArray_const_reverse_iterator = root :: mozilla :: EnumeratedArray_ArrayType ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct LinkedListElement { pub mNext : * mut root :: mozilla :: LinkedListElement , pub mPrev : * mut root :: mozilla :: LinkedListElement , pub mIsSentinel : bool , } pub type LinkedListElement_Traits = root :: mozilla :: detail :: LinkedListElementTraits ; pub type LinkedListElement_RawType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ConstRawType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ClientType = root :: mozilla :: LinkedListElement_Traits ; pub type LinkedListElement_ConstClientType = root :: mozilla :: LinkedListElement_Traits ; pub const LinkedListElement_NodeKind_Normal : root :: mozilla :: LinkedListElement_NodeKind = 0 ; pub const LinkedListElement_NodeKind_Sentinel : root :: mozilla :: LinkedListElement_NodeKind = 0 ; pub type LinkedListElement_NodeKind = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct LinkedList { pub sentinel : root :: mozilla :: LinkedListElement , } pub type LinkedList_Traits = root :: mozilla :: detail :: LinkedListElementTraits ; pub type LinkedList_RawType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ConstRawType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ClientType = root :: mozilla :: LinkedList_Traits ; pub type LinkedList_ConstClientType = root :: mozilla :: LinkedList_Traits ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct LinkedList_Iterator { pub mCurrent : root :: mozilla :: LinkedList_RawType , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Maybe { pub _address : u8 , } pub type Maybe_ValueType < T > = T ; pub mod gfx { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; pub type Float = f32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FontVariation { pub mTag : u32 , pub mValue : f32 , } # [ test ] fn bindgen_test_layout_FontVariation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontVariation > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( FontVariation ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontVariation > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FontVariation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontVariation ) ) . mTag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontVariation ) , "::" , stringify ! ( mTag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontVariation ) ) . mValue as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FontVariation ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for FontVariation { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SourceSurface { _unused : [ u8 ; 0 ] } } pub mod layers { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct LayerManager { _unused : [ u8 ; 0 ] } } pub mod dom { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct AllOwningUnionBase { pub _address : u8 , } # [ test ] fn bindgen_test_layout_AllOwningUnionBase ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AllOwningUnionBase > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( AllOwningUnionBase ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AllOwningUnionBase > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( AllOwningUnionBase ) ) ) ; } impl Clone for AllOwningUnionBase { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GlobalObject { pub mGlobalJSObject : [ u64 ; 3usize ] , pub mCx : * mut root :: JSContext , pub mGlobalObject : * mut root :: nsISupports , } # [ test ] fn bindgen_test_layout_GlobalObject ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GlobalObject > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( GlobalObject ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GlobalObject > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GlobalObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mGlobalJSObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mGlobalJSObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mCx as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mCx ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GlobalObject ) ) . mGlobalObject as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( GlobalObject ) , "::" , stringify ! ( mGlobalObject ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Sequence { pub _address : u8 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CallerType { System = 0 , NonSystem = 1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Nullable { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ClientSource { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CSSImportRule { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ShadowRoot { _unused : [ u8 ; 0 ] } /// Struct that stores info on an attribute. The name and value must either both /// be null or both be non-null. /// @@ -86,7 +83,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// this struct hold are only valid until the element or its attributes are /// mutated (directly or via script). # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct BorrowedAttrInfo { pub mName : * const root :: nsAttrName , pub mValue : * const root :: nsAttrValue , } # [ test ] fn bindgen_test_layout_BorrowedAttrInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < BorrowedAttrInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( BorrowedAttrInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < BorrowedAttrInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( BorrowedAttrInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const BorrowedAttrInfo ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( BorrowedAttrInfo ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const BorrowedAttrInfo ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( BorrowedAttrInfo ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for BorrowedAttrInfo { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct NodeInfo { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mDocument : * mut root :: nsIDocument , pub mInner : root :: mozilla :: dom :: NodeInfo_NodeInfoInner , pub mOwnerManager : root :: RefPtr < root :: nsNodeInfoManager > , pub mQualifiedName : ::nsstring::nsStringRepr , pub mNodeName : ::nsstring::nsStringRepr , pub mLocalName : ::nsstring::nsStringRepr , } pub type NodeInfo_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct NodeInfo_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_NodeInfo_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NodeInfo_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( NodeInfo_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NodeInfo_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NodeInfo_cycleCollection ) ) ) ; } impl Clone for NodeInfo_cycleCollection { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct NodeInfo_NodeInfoInner { pub mName : * const root :: nsAtom , pub mPrefix : * mut root :: nsAtom , pub mNamespaceID : i32 , pub mNodeType : u16 , pub mNameString : * const root :: nsAString , pub mExtraName : * mut root :: nsAtom , pub mHash : root :: PLHashNumber , pub mHashInitialized : bool , } # [ test ] fn bindgen_test_layout_NodeInfo_NodeInfoInner ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NodeInfo_NodeInfoInner > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( NodeInfo_NodeInfoInner ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NodeInfo_NodeInfoInner > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NodeInfo_NodeInfoInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mPrefix as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mPrefix ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mNamespaceID as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mNamespaceID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mNodeType as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mNodeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mNameString as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mNameString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mExtraName as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mExtraName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mHash as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mHashInitialized as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mHashInitialized ) ) ) ; } impl Clone for NodeInfo_NodeInfoInner { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla3dom8NodeInfo21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN7mozilla3dom8NodeInfo21_cycleCollectorGlobalE" ] pub static mut NodeInfo__cycleCollectorGlobal : root :: mozilla :: dom :: NodeInfo_cycleCollection ; } # [ test ] fn bindgen_test_layout_NodeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NodeInfo > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( NodeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NodeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mDocument as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mInner as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mOwnerManager as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mOwnerManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mQualifiedName as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mQualifiedName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mNodeName as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mNodeName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mLocalName as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mLocalName ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct EventTarget { pub _base : root :: nsIDOMEventTarget , pub _base_1 : root :: nsWrapperCache , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct EventTarget_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_EventTarget ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EventTarget > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( EventTarget ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EventTarget > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EventTarget ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct BoxQuadOptions { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ConvertCoordinateOptions { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMPoint { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMQuad { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TextOrElementOrDocument { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMPointInit { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct HTMLSlotElement { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TabGroup { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct DispatcherTrait__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct DispatcherTrait { pub vtable_ : * const DispatcherTrait__bindgen_vtable , } # [ test ] fn bindgen_test_layout_DispatcherTrait ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DispatcherTrait > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( DispatcherTrait ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DispatcherTrait > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DispatcherTrait ) ) ) ; } impl Clone for DispatcherTrait { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AudioContext { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DocGroup { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Performance { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ServiceWorkerRegistration { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TimeoutManager { _unused : [ u8 ; 0 ] } pub const LargeAllocStatus_NONE : root :: mozilla :: dom :: LargeAllocStatus = 0 ; pub const LargeAllocStatus_SUCCESS : root :: mozilla :: dom :: LargeAllocStatus = 1 ; pub const LargeAllocStatus_NON_GET : root :: mozilla :: dom :: LargeAllocStatus = 2 ; pub const LargeAllocStatus_NON_E10S : root :: mozilla :: dom :: LargeAllocStatus = 3 ; pub const LargeAllocStatus_NOT_ONLY_TOPLEVEL_IN_TABGROUP : root :: mozilla :: dom :: LargeAllocStatus = 4 ; pub const LargeAllocStatus_NON_WIN32 : root :: mozilla :: dom :: LargeAllocStatus = 5 ; pub type LargeAllocStatus = u8 ; pub mod prototypes { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } pub mod constructors { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } pub mod namedpropertiesobjects { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } pub const VisibilityState_Hidden : root :: mozilla :: dom :: VisibilityState = 0 ; pub const VisibilityState_Visible : root :: mozilla :: dom :: VisibilityState = 1 ; pub const VisibilityState_Prerender : root :: mozilla :: dom :: VisibilityState = 2 ; pub const VisibilityState_EndGuard_ : root :: mozilla :: dom :: VisibilityState = 3 ; pub type VisibilityState = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AnonymousContent { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct FontFaceSet { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct FullscreenRequest { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ImageTracker { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Link { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct MediaQueryList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XPathEvaluator { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FrameRequestCallback { pub _bindgen_opaque_blob : [ u64 ; 6usize ] , } # [ test ] fn bindgen_test_layout_FrameRequestCallback ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FrameRequestCallback > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( FrameRequestCallback ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FrameRequestCallback > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FrameRequestCallback ) ) ) ; } impl Clone for FrameRequestCallback { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct URLParams { pub mParams : root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > , } # [ repr ( C ) ] pub struct URLParams_ForEachIterator__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct URLParams_ForEachIterator { pub vtable_ : * const URLParams_ForEachIterator__bindgen_vtable , } # [ test ] fn bindgen_test_layout_URLParams_ForEachIterator ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams_ForEachIterator > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( URLParams_ForEachIterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams_ForEachIterator > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams_ForEachIterator ) ) ) ; } impl Clone for URLParams_ForEachIterator { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct URLParams_Param { pub mKey : ::nsstring::nsStringRepr , pub mValue : ::nsstring::nsStringRepr , } # [ test ] fn bindgen_test_layout_URLParams_Param ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams_Param > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( URLParams_Param ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams_Param > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams_Param ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams_Param ) ) . mKey as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams_Param ) , "::" , stringify ! ( mKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams_Param ) ) . mValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams_Param ) , "::" , stringify ! ( mValue ) ) ) ; } # [ test ] fn bindgen_test_layout_URLParams ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( URLParams ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams ) ) . mParams as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams ) , "::" , stringify ! ( mParams ) ) ) ; } # [ repr ( C ) ] pub struct SRIMetadata { pub mHashes : root :: nsTArray < root :: nsCString > , pub mIntegrityString : ::nsstring::nsStringRepr , pub mAlgorithm : root :: nsCString , pub mAlgorithmType : i8 , pub mEmpty : bool , } pub const SRIMetadata_MAX_ALTERNATE_HASHES : u32 = 256 ; pub const SRIMetadata_UNKNOWN_ALGORITHM : i8 = -1 ; # [ test ] fn bindgen_test_layout_SRIMetadata ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SRIMetadata > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( SRIMetadata ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SRIMetadata > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SRIMetadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mHashes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mHashes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mIntegrityString as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mIntegrityString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mAlgorithm as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mAlgorithm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mAlgorithmType as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mAlgorithmType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mEmpty as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mEmpty ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct OwningNodeOrString { pub mType : root :: mozilla :: dom :: OwningNodeOrString_Type , pub mValue : root :: mozilla :: dom :: OwningNodeOrString_Value , } pub const OwningNodeOrString_Type_eUninitialized : root :: mozilla :: dom :: OwningNodeOrString_Type = 0 ; pub const OwningNodeOrString_Type_eNode : root :: mozilla :: dom :: OwningNodeOrString_Type = 1 ; pub const OwningNodeOrString_Type_eString : root :: mozilla :: dom :: OwningNodeOrString_Type = 2 ; pub type OwningNodeOrString_Type = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct OwningNodeOrString_Value { pub _bindgen_opaque_blob : [ u64 ; 2usize ] , } # [ test ] fn bindgen_test_layout_OwningNodeOrString_Value ( ) { assert_eq ! ( :: std :: mem :: size_of :: < OwningNodeOrString_Value > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( OwningNodeOrString_Value ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < OwningNodeOrString_Value > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( OwningNodeOrString_Value ) ) ) ; } impl Clone for OwningNodeOrString_Value { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_OwningNodeOrString ( ) { assert_eq ! ( :: std :: mem :: size_of :: < OwningNodeOrString > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( OwningNodeOrString ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < OwningNodeOrString > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( OwningNodeOrString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const OwningNodeOrString ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( OwningNodeOrString ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const OwningNodeOrString ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( OwningNodeOrString ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum FillMode { None = 0 , Forwards = 1 , Backwards = 2 , Both = 3 , Auto = 4 , EndGuard_ = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum PlaybackDirection { Normal = 0 , Reverse = 1 , Alternate = 2 , Alternate_reverse = 3 , EndGuard_ = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CompositeOperation { Replace = 0 , Add = 1 , Accumulate = 2 , EndGuard_ = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum IterationCompositeOperation { Replace = 0 , Accumulate = 1 , EndGuard_ = 2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XBLChildrenElement { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CustomElementData { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct FragmentOrElement { pub _base : root :: nsIContent , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , /// Array containing all attributes and children for this element @@ -141,16 +138,16 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: pub mChildrenList : root :: RefPtr < root :: nsContentList > , /// An object implementing the .classList property for this element. pub mClassList : root :: RefPtr < root :: nsDOMTokenList > , pub mExtendedSlots : root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > , } # [ test ] fn bindgen_test_layout_FragmentOrElement_nsDOMSlots ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FragmentOrElement_nsDOMSlots > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( FragmentOrElement_nsDOMSlots ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FragmentOrElement_nsDOMSlots > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FragmentOrElement_nsDOMSlots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mStyle as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mDataset as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mDataset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mAttributeMap as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mAttributeMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mChildrenList as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mChildrenList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mClassList as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mClassList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) . mExtendedSlots as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement_nsDOMSlots ) , "::" , stringify ! ( mExtendedSlots ) ) ) ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla3dom17FragmentOrElement21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN7mozilla3dom17FragmentOrElement21_cycleCollectorGlobalE" ] pub static mut FragmentOrElement__cycleCollectorGlobal : root :: mozilla :: dom :: FragmentOrElement_cycleCollection ; } # [ test ] fn bindgen_test_layout_FragmentOrElement ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FragmentOrElement > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( FragmentOrElement ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FragmentOrElement > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FragmentOrElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement ) ) . mRefCnt as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FragmentOrElement ) ) . mAttrsAndChildren as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( FragmentOrElement ) , "::" , stringify ! ( mAttrsAndChildren ) ) ) ; } # [ repr ( C ) ] pub struct Attr { pub _base : root :: nsIAttribute , pub _base_1 : root :: nsIDOMAttr , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mValue : ::nsstring::nsStringRepr , } pub type Attr_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct Attr_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_Attr_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Attr_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( Attr_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Attr_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Attr_cycleCollection ) ) ) ; } impl Clone for Attr_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla3dom4Attr21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN7mozilla3dom4Attr21_cycleCollectorGlobalE" ] pub static mut Attr__cycleCollectorGlobal : root :: mozilla :: dom :: Attr_cycleCollection ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla3dom4Attr12sInitializedE" ] + # [ link_name = "\u{1}_ZN7mozilla3dom4Attr12sInitializedE" ] pub static mut Attr_sInitialized : bool ; } # [ test ] fn bindgen_test_layout_Attr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Attr > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( Attr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Attr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Attr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct DOMRectReadOnly { pub _base : root :: nsISupports , pub _base_1 : root :: nsWrapperCache , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mParent : root :: nsCOMPtr , } pub type DOMRectReadOnly_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct DOMRectReadOnly_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_DOMRectReadOnly_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DOMRectReadOnly_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( DOMRectReadOnly_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DOMRectReadOnly_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DOMRectReadOnly_cycleCollection ) ) ) ; } impl Clone for DOMRectReadOnly_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla3dom15DOMRectReadOnly21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN7mozilla3dom15DOMRectReadOnly21_cycleCollectorGlobalE" ] pub static mut DOMRectReadOnly__cycleCollectorGlobal : root :: mozilla :: dom :: DOMRectReadOnly_cycleCollection ; } # [ test ] fn bindgen_test_layout_DOMRectReadOnly ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DOMRectReadOnly > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( DOMRectReadOnly ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DOMRectReadOnly > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DOMRectReadOnly ) ) ) ; } # [ repr ( C ) ] pub struct Element { pub _base : root :: mozilla :: dom :: FragmentOrElement , pub mState : root :: mozilla :: EventStates , pub mServoData : ::gecko_bindings::structs::ServoCell < * mut ::gecko_bindings::structs::ServoNodeData > , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Element_COMTypeInfo { pub _address : u8 , } /// StyleStateLocks is used to specify which event states should be locked, @@ -184,7 +181,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// We require this to be memmovable since Rust code can create and move /// StyleChildrenIterators. # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct StyleChildrenIterator { pub _base : root :: mozilla :: dom :: AllChildrenIterator , } # [ test ] fn bindgen_test_layout_StyleChildrenIterator ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleChildrenIterator > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( StyleChildrenIterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleChildrenIterator > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleChildrenIterator ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct MediaList { pub _base : root :: nsIDOMMediaList , pub _base_1 : root :: nsWrapperCache , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mStyleSheet : * mut root :: mozilla :: StyleSheet , } pub type MediaList_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct MediaList_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_MediaList_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < MediaList_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( MediaList_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < MediaList_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( MediaList_cycleCollection ) ) ) ; } impl Clone for MediaList_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla3dom9MediaList21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN7mozilla3dom9MediaList21_cycleCollectorGlobalE" ] pub static mut MediaList__cycleCollectorGlobal : root :: mozilla :: dom :: MediaList_cycleCollection ; } # [ test ] fn bindgen_test_layout_MediaList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < MediaList > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( MediaList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < MediaList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( MediaList ) ) ) ; } } # [ repr ( C ) ] pub struct CSSVariableValues { /// Map of variable names to IDs. Variable IDs are indexes into @@ -209,13 +206,13 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// value (in Servo) and the computed value (in both Gecko and Servo) of the /// font-family property. # [ repr ( C ) ] pub struct SharedFontList { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mNames : root :: nsTArray < root :: mozilla :: FontFamilyName > , } pub type SharedFontList_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; extern "C" { - # [ link_name = "\u{1}__ZN7mozilla14SharedFontList6sEmptyE" ] + # [ link_name = "\u{1}_ZN7mozilla14SharedFontList6sEmptyE" ] pub static mut SharedFontList_sEmpty : root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > ; } # [ test ] fn bindgen_test_layout_SharedFontList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SharedFontList > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SharedFontList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SharedFontList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SharedFontList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SharedFontList ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( SharedFontList ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SharedFontList ) ) . mNames as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( SharedFontList ) , "::" , stringify ! ( mNames ) ) ) ; } # [ test ] fn __bindgen_test_layout_StaticRefPtr_open0_SharedFontList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > ) ) ) ; } /// font family list, array of font families and a default font type. /// font family names are either named strings or generics. the default /// font type is used to preserve the variable font fallback behavior - # [ repr ( C ) ] pub struct FontFamilyList { pub mFontlist : root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > , pub mDefaultFontType : root :: mozilla :: FontFamilyType , } # [ test ] fn bindgen_test_layout_FontFamilyList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontFamilyList > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( FontFamilyList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontFamilyList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FontFamilyList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontFamilyList ) ) . mFontlist as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontFamilyList ) , "::" , stringify ! ( mFontlist ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontFamilyList ) ) . mDefaultFontType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FontFamilyList ) , "::" , stringify ! ( mDefaultFontType ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBasicShapeType { Polygon = 0 , Circle = 1 , Ellipse = 2 , Inset = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxAlign { Stretch = 0 , Start = 1 , Center = 2 , Baseline = 3 , End = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxDecorationBreak { Slice = 0 , Clone = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxDirection { Normal = 0 , Reverse = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxOrient { Horizontal = 0 , Vertical = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxPack { Start = 0 , Center = 1 , End = 2 , Justify = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxSizing { Content = 0 , Border = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleClear { None = 0 , Left = 1 , Right = 2 , InlineStart = 3 , InlineEnd = 4 , Both = 5 , Line = 8 , Max = 13 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleGeometryBox { ContentBox = 0 , PaddingBox = 1 , BorderBox = 2 , MarginBox = 3 , FillBox = 4 , StrokeBox = 5 , ViewBox = 6 , NoClip = 7 , Text = 8 , NoBox = 9 , MozAlmostPadding = 127 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFillRule { Nonzero = 0 , Evenodd = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFloat { None = 0 , Left = 1 , Right = 2 , InlineStart = 3 , InlineEnd = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFloatEdge { ContentBox = 0 , MarginBox = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleHyphens { None = 0 , Manual = 1 , Auto = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleShapeRadius { ClosestSide = 0 , FarthestSide = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleShapeSourceType { None = 0 , URL = 1 , Image = 2 , Shape = 3 , Box = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleStackSizing { Ignore = 0 , StretchToFit = 1 , IgnoreHorizontal = 2 , IgnoreVertical = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleTextJustify { None = 0 , Auto = 1 , InterWord = 2 , InterCharacter = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserFocus { None = 0 , Ignore = 1 , Normal = 2 , SelectAll = 3 , SelectBefore = 4 , SelectAfter = 5 , SelectSame = 6 , SelectMenu = 7 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserSelect { None = 0 , Text = 1 , Element = 2 , Elements = 3 , All = 4 , Toggle = 5 , TriState = 6 , Auto = 7 , MozAll = 8 , MozText = 9 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserInput { None = 0 , Enabled = 1 , Disabled = 2 , Auto = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserModify { ReadOnly = 0 , ReadWrite = 1 , WriteOnly = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleWindowDragging { Default = 0 , Drag = 1 , NoDrag = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleOrient { Inline = 0 , Block = 1 , Horizontal = 2 , Vertical = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleImageLayerRepeat { NoRepeat = 0 , RepeatX = 1 , RepeatY = 2 , Repeat = 3 , Space = 4 , Round = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleDisplay { None = 0 , Block = 1 , FlowRoot = 2 , Inline = 3 , InlineBlock = 4 , ListItem = 5 , Table = 6 , InlineTable = 7 , TableRowGroup = 8 , TableColumn = 9 , TableColumnGroup = 10 , TableHeaderGroup = 11 , TableFooterGroup = 12 , TableRow = 13 , TableCell = 14 , TableCaption = 15 , Flex = 16 , InlineFlex = 17 , Grid = 18 , InlineGrid = 19 , Ruby = 20 , RubyBase = 21 , RubyBaseContainer = 22 , RubyText = 23 , RubyTextContainer = 24 , Contents = 25 , WebkitBox = 26 , WebkitInlineBox = 27 , MozBox = 28 , MozInlineBox = 29 , MozGrid = 30 , MozInlineGrid = 31 , MozGridGroup = 32 , MozGridLine = 33 , MozStack = 34 , MozInlineStack = 35 , MozDeck = 36 , MozGroupbox = 37 , MozPopup = 38 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleGridTrackBreadth { MaxContent = 1 , MinContent = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleWhiteSpace { Normal = 0 , Pre = 1 , Nowrap = 2 , PreWrap = 3 , PreLine = 4 , PreSpace = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleOverscrollBehavior { Auto = 0 , Contain = 1 , None = 2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SupportsWeakPtr { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct WeakPtr { pub _address : u8 , } pub type WeakPtr_WeakReference = u8 ; pub type AtomArray = root :: nsTArray < root :: RefPtr < root :: nsAtom > > ; + # [ repr ( C ) ] pub struct FontFamilyList { pub mFontlist : root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > , pub mDefaultFontType : root :: mozilla :: FontFamilyType , } # [ test ] fn bindgen_test_layout_FontFamilyList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontFamilyList > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( FontFamilyList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontFamilyList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FontFamilyList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontFamilyList ) ) . mFontlist as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontFamilyList ) , "::" , stringify ! ( mFontlist ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontFamilyList ) ) . mDefaultFontType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FontFamilyList ) , "::" , stringify ! ( mDefaultFontType ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBasicShapeType { Polygon = 0 , Circle = 1 , Ellipse = 2 , Inset = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxAlign { Stretch = 0 , Start = 1 , Center = 2 , Baseline = 3 , End = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxDecorationBreak { Slice = 0 , Clone = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxDirection { Normal = 0 , Reverse = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxOrient { Horizontal = 0 , Vertical = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxPack { Start = 0 , Center = 1 , End = 2 , Justify = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleBoxSizing { Content = 0 , Border = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleClear { None = 0 , Left = 1 , Right = 2 , InlineStart = 3 , InlineEnd = 4 , Both = 5 , Line = 8 , Max = 13 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleGeometryBox { ContentBox = 0 , PaddingBox = 1 , BorderBox = 2 , MarginBox = 3 , FillBox = 4 , StrokeBox = 5 , ViewBox = 6 , NoClip = 7 , Text = 8 , NoBox = 9 , MozAlmostPadding = 127 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFillRule { Nonzero = 0 , Evenodd = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFloat { None = 0 , Left = 1 , Right = 2 , InlineStart = 3 , InlineEnd = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleFloatEdge { ContentBox = 0 , MarginBox = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleHyphens { None = 0 , Manual = 1 , Auto = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleShapeRadius { ClosestSide = 0 , FarthestSide = 1 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleShapeSourceType { None = 0 , URL = 1 , Shape = 2 , Box = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleStackSizing { Ignore = 0 , StretchToFit = 1 , IgnoreHorizontal = 2 , IgnoreVertical = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleTextJustify { None = 0 , Auto = 1 , InterWord = 2 , InterCharacter = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserFocus { None = 0 , Ignore = 1 , Normal = 2 , SelectAll = 3 , SelectBefore = 4 , SelectAfter = 5 , SelectSame = 6 , SelectMenu = 7 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserSelect { None = 0 , Text = 1 , Element = 2 , Elements = 3 , All = 4 , Toggle = 5 , TriState = 6 , Auto = 7 , MozAll = 8 , MozText = 9 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserInput { None = 0 , Enabled = 1 , Disabled = 2 , Auto = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleUserModify { ReadOnly = 0 , ReadWrite = 1 , WriteOnly = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleWindowDragging { Default = 0 , Drag = 1 , NoDrag = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleOrient { Inline = 0 , Block = 1 , Horizontal = 2 , Vertical = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleImageLayerRepeat { NoRepeat = 0 , RepeatX = 1 , RepeatY = 2 , Repeat = 3 , Space = 4 , Round = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleDisplay { None = 0 , Block = 1 , FlowRoot = 2 , Inline = 3 , InlineBlock = 4 , ListItem = 5 , Table = 6 , InlineTable = 7 , TableRowGroup = 8 , TableColumn = 9 , TableColumnGroup = 10 , TableHeaderGroup = 11 , TableFooterGroup = 12 , TableRow = 13 , TableCell = 14 , TableCaption = 15 , Flex = 16 , InlineFlex = 17 , Grid = 18 , InlineGrid = 19 , Ruby = 20 , RubyBase = 21 , RubyBaseContainer = 22 , RubyText = 23 , RubyTextContainer = 24 , Contents = 25 , WebkitBox = 26 , WebkitInlineBox = 27 , MozBox = 28 , MozInlineBox = 29 , MozGrid = 30 , MozInlineGrid = 31 , MozGridGroup = 32 , MozGridLine = 33 , MozStack = 34 , MozInlineStack = 35 , MozDeck = 36 , MozGroupbox = 37 , MozPopup = 38 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleGridTrackBreadth { MaxContent = 1 , MinContent = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleWhiteSpace { Normal = 0 , Pre = 1 , Nowrap = 2 , PreWrap = 3 , PreLine = 4 , PreSpace = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum StyleOverscrollBehavior { Auto = 0 , Contain = 1 , None = 2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SupportsWeakPtr { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct WeakPtr { pub _address : u8 , } pub type WeakPtr_WeakReference = u8 ; pub type AtomArray = root :: nsTArray < root :: RefPtr < root :: nsAtom > > ; /// EventStates is the class used to represent the event states of nsIContent /// instances. These states are calculated by IntrinsicState() and /// ContentStatesChanged() has to be called when one of them changes thus @@ -277,7 +274,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: pub mValue : root :: mozilla :: TimeStampValue , } # [ test ] fn bindgen_test_layout_TimeStamp ( ) { assert_eq ! ( :: std :: mem :: size_of :: < TimeStamp > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( TimeStamp ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < TimeStamp > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( TimeStamp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const TimeStamp ) ) . mValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( TimeStamp ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for TimeStamp { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct MallocAllocPolicy { pub _address : u8 , } # [ test ] fn bindgen_test_layout_MallocAllocPolicy ( ) { assert_eq ! ( :: std :: mem :: size_of :: < MallocAllocPolicy > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( MallocAllocPolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < MallocAllocPolicy > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( MallocAllocPolicy ) ) ) ; } impl Clone for MallocAllocPolicy { fn clone ( & self ) -> Self { * self } } pub type Vector_Impl = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Vector_CapacityAndReserved { pub mCapacity : usize , } pub type Vector_ElementType < T > = T ; pub const Vector_InlineLength : root :: mozilla :: Vector__bindgen_ty_1 = 0 ; pub type Vector__bindgen_ty_1 = i32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Vector_Range < T > { pub mCur : * mut T , pub mEnd : * mut T , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Vector_ConstRange < T > { pub mCur : * mut T , pub mEnd : * mut T , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } pub mod binding_danger { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct AssertAndSuppressCleanupPolicy { pub _address : u8 , } pub const AssertAndSuppressCleanupPolicy_assertHandled : bool = true ; pub const AssertAndSuppressCleanupPolicy_suppress : bool = true ; # [ test ] fn bindgen_test_layout_AssertAndSuppressCleanupPolicy ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AssertAndSuppressCleanupPolicy > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( AssertAndSuppressCleanupPolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AssertAndSuppressCleanupPolicy > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( AssertAndSuppressCleanupPolicy ) ) ) ; } impl Clone for AssertAndSuppressCleanupPolicy { fn clone ( & self ) -> Self { * self } } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct OwningNonNull < T > { pub mPtr : root :: RefPtr < T > , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } pub mod net { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; pub const ReferrerPolicy_RP_No_Referrer : root :: mozilla :: net :: ReferrerPolicy = 2 ; pub const ReferrerPolicy_RP_Origin : root :: mozilla :: net :: ReferrerPolicy = 3 ; pub const ReferrerPolicy_RP_No_Referrer_When_Downgrade : root :: mozilla :: net :: ReferrerPolicy = 1 ; pub const ReferrerPolicy_RP_Origin_When_Crossorigin : root :: mozilla :: net :: ReferrerPolicy = 4 ; pub const ReferrerPolicy_RP_Unsafe_URL : root :: mozilla :: net :: ReferrerPolicy = 5 ; pub const ReferrerPolicy_RP_Same_Origin : root :: mozilla :: net :: ReferrerPolicy = 6 ; pub const ReferrerPolicy_RP_Strict_Origin : root :: mozilla :: net :: ReferrerPolicy = 7 ; pub const ReferrerPolicy_RP_Strict_Origin_When_Cross_Origin : root :: mozilla :: net :: ReferrerPolicy = 8 ; pub const ReferrerPolicy_RP_Unset : root :: mozilla :: net :: ReferrerPolicy = 0 ; pub type ReferrerPolicy = :: std :: os :: raw :: c_uint ; } pub const CORSMode_CORS_NONE : root :: mozilla :: CORSMode = 0 ; pub const CORSMode_CORS_ANONYMOUS : root :: mozilla :: CORSMode = 1 ; pub const CORSMode_CORS_USE_CREDENTIALS : root :: mozilla :: CORSMode = 2 ; pub type CORSMode = u8 ; /// Superclass for data common to CSSStyleSheet and ServoStyleSheet. # [ repr ( C ) ] pub struct StyleSheet { pub _base : root :: nsIDOMCSSStyleSheet , pub _base_1 : root :: nsICSSLoaderObserver , pub _base_2 : root :: nsWrapperCache , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mParent : * mut root :: mozilla :: StyleSheet , pub mTitle : ::nsstring::nsStringRepr , pub mDocument : * mut root :: nsIDocument , pub mOwningNode : * mut root :: nsINode , pub mOwnerRule : * mut root :: mozilla :: dom :: CSSImportRule , pub mMedia : root :: RefPtr < root :: mozilla :: dom :: MediaList > , pub mNext : root :: RefPtr < root :: mozilla :: StyleSheet > , pub mParsingMode : root :: mozilla :: css :: SheetParsingMode , pub mType : root :: mozilla :: StyleBackendType , pub mDisabled : bool , pub mDirty : bool , pub mDocumentAssociationMode : root :: mozilla :: StyleSheet_DocumentAssociationMode , pub mInner : * mut root :: mozilla :: StyleSheetInfo , pub mStyleSets : root :: nsTArray < root :: mozilla :: StyleSetHandle > , } pub type StyleSheet_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct StyleSheet_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_StyleSheet_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleSheet_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( StyleSheet_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleSheet_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleSheet_cycleCollection ) ) ) ; } impl Clone for StyleSheet_cycleCollection { fn clone ( & self ) -> Self { * self } } pub const StyleSheet_ChangeType_Added : root :: mozilla :: StyleSheet_ChangeType = 0 ; pub const StyleSheet_ChangeType_Removed : root :: mozilla :: StyleSheet_ChangeType = 1 ; pub const StyleSheet_ChangeType_ApplicableStateChanged : root :: mozilla :: StyleSheet_ChangeType = 2 ; pub const StyleSheet_ChangeType_RuleAdded : root :: mozilla :: StyleSheet_ChangeType = 3 ; pub const StyleSheet_ChangeType_RuleRemoved : root :: mozilla :: StyleSheet_ChangeType = 4 ; pub const StyleSheet_ChangeType_RuleChanged : root :: mozilla :: StyleSheet_ChangeType = 5 ; pub type StyleSheet_ChangeType = :: std :: os :: raw :: c_int ; pub const StyleSheet_DocumentAssociationMode_OwnedByDocument : root :: mozilla :: StyleSheet_DocumentAssociationMode = 0 ; pub const StyleSheet_DocumentAssociationMode_NotOwnedByDocument : root :: mozilla :: StyleSheet_DocumentAssociationMode = 1 ; pub type StyleSheet_DocumentAssociationMode = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct StyleSheet_ChildSheetListBuilder { pub sheetSlot : * mut root :: RefPtr < root :: mozilla :: StyleSheet > , pub parent : * mut root :: mozilla :: StyleSheet , } # [ test ] fn bindgen_test_layout_StyleSheet_ChildSheetListBuilder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleSheet_ChildSheetListBuilder > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( StyleSheet_ChildSheetListBuilder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleSheet_ChildSheetListBuilder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleSheet_ChildSheetListBuilder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheet_ChildSheetListBuilder ) ) . sheetSlot as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheet_ChildSheetListBuilder ) , "::" , stringify ! ( sheetSlot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheet_ChildSheetListBuilder ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheet_ChildSheetListBuilder ) , "::" , stringify ! ( parent ) ) ) ; } impl Clone for StyleSheet_ChildSheetListBuilder { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla10StyleSheet21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN7mozilla10StyleSheet21_cycleCollectorGlobalE" ] pub static mut StyleSheet__cycleCollectorGlobal : root :: mozilla :: StyleSheet_cycleCollection ; } # [ test ] fn bindgen_test_layout_StyleSheet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleSheet > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( StyleSheet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleSheet > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleSheet ) ) ) ; } pub const CSSEnabledState_eForAllContent : root :: mozilla :: CSSEnabledState = 0 ; pub const CSSEnabledState_eInUASheets : root :: mozilla :: CSSEnabledState = 1 ; pub const CSSEnabledState_eInChrome : root :: mozilla :: CSSEnabledState = 2 ; pub const CSSEnabledState_eIgnoreEnabledState : root :: mozilla :: CSSEnabledState = 255 ; pub type CSSEnabledState = :: std :: os :: raw :: c_int ; pub type CSSPseudoElementTypeBase = u8 ; pub const CSSPseudoElementType_InheritingAnonBox : root :: mozilla :: CSSPseudoElementType = CSSPseudoElementType :: Count ; # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CSSPseudoElementType { after = 0 , before = 1 , backdrop = 2 , cue = 3 , firstLetter = 4 , firstLine = 5 , mozSelection = 6 , mozFocusInner = 7 , mozFocusOuter = 8 , mozListBullet = 9 , mozListNumber = 10 , mozMathAnonymous = 11 , mozNumberWrapper = 12 , mozNumberText = 13 , mozNumberSpinBox = 14 , mozNumberSpinUp = 15 , mozNumberSpinDown = 16 , mozProgressBar = 17 , mozRangeTrack = 18 , mozRangeProgress = 19 , mozRangeThumb = 20 , mozMeterBar = 21 , mozPlaceholder = 22 , placeholder = 23 , mozColorSwatch = 24 , Count = 25 , NonInheritingAnonBox = 26 , XULTree = 27 , NotPseudo = 28 , MAX = 29 , } /// Smart pointer class that can hold a pointer to either an nsStyleSet @@ -307,7 +304,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// for that functionality. We delegate to it from nsPresContext where /// appropriate, and use it standalone in some cases as well. # [ repr ( C ) ] pub struct StaticPresData { pub mLangService : * mut root :: nsLanguageAtomService , pub mBorderWidthTable : [ root :: nscoord ; 3usize ] , pub mStaticLangGroupFontPrefs : root :: mozilla :: LangGroupFontPrefs , } # [ test ] fn bindgen_test_layout_StaticPresData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StaticPresData > ( ) , 720usize , concat ! ( "Size of: " , stringify ! ( StaticPresData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StaticPresData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StaticPresData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StaticPresData ) ) . mLangService as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StaticPresData ) , "::" , stringify ! ( mLangService ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StaticPresData ) ) . mBorderWidthTable as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( StaticPresData ) , "::" , stringify ! ( mBorderWidthTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StaticPresData ) ) . mStaticLangGroupFontPrefs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( StaticPresData ) , "::" , stringify ! ( mStaticLangGroupFontPrefs ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct EventStateManager { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct RestyleManager { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct URLExtraData { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mBaseURI : root :: nsCOMPtr , pub mReferrer : root :: nsCOMPtr , pub mPrincipal : root :: nsCOMPtr , pub mIsChrome : bool , } pub type URLExtraData_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; extern "C" { - # [ link_name = "\u{1}__ZN7mozilla12URLExtraData6sDummyE" ] + # [ link_name = "\u{1}_ZN7mozilla12URLExtraData6sDummyE" ] pub static mut URLExtraData_sDummy : root :: mozilla :: StaticRefPtr < root :: mozilla :: URLExtraData > ; } # [ test ] fn bindgen_test_layout_URLExtraData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLExtraData > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( URLExtraData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLExtraData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLExtraData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLExtraData ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLExtraData ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLExtraData ) ) . mBaseURI as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( URLExtraData ) , "::" , stringify ! ( mBaseURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLExtraData ) ) . mReferrer as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( URLExtraData ) , "::" , stringify ! ( mReferrer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLExtraData ) ) . mPrincipal as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( URLExtraData ) , "::" , stringify ! ( mPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLExtraData ) ) . mIsChrome as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( URLExtraData ) , "::" , stringify ! ( mIsChrome ) ) ) ; } # [ test ] fn __bindgen_test_layout_StaticRefPtr_open0_URLExtraData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } pub mod image { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ImageURL { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Image { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ProgressTracker { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct IProgressObserver__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; /// An interface for observing changes to image state, as reported by @@ -330,7 +327,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct StyleAnimationValue { pub _bindgen_opaque_blob : [ u64 ; 2usize ] , } pub const StyleAnimationValue_Unit_eUnit_Null : root :: mozilla :: StyleAnimationValue_Unit = 0 ; pub const StyleAnimationValue_Unit_eUnit_Normal : root :: mozilla :: StyleAnimationValue_Unit = 1 ; pub const StyleAnimationValue_Unit_eUnit_Auto : root :: mozilla :: StyleAnimationValue_Unit = 2 ; pub const StyleAnimationValue_Unit_eUnit_None : root :: mozilla :: StyleAnimationValue_Unit = 3 ; pub const StyleAnimationValue_Unit_eUnit_Enumerated : root :: mozilla :: StyleAnimationValue_Unit = 4 ; pub const StyleAnimationValue_Unit_eUnit_Visibility : root :: mozilla :: StyleAnimationValue_Unit = 5 ; pub const StyleAnimationValue_Unit_eUnit_Integer : root :: mozilla :: StyleAnimationValue_Unit = 6 ; pub const StyleAnimationValue_Unit_eUnit_Coord : root :: mozilla :: StyleAnimationValue_Unit = 7 ; pub const StyleAnimationValue_Unit_eUnit_Percent : root :: mozilla :: StyleAnimationValue_Unit = 8 ; pub const StyleAnimationValue_Unit_eUnit_Float : root :: mozilla :: StyleAnimationValue_Unit = 9 ; pub const StyleAnimationValue_Unit_eUnit_Color : root :: mozilla :: StyleAnimationValue_Unit = 10 ; pub const StyleAnimationValue_Unit_eUnit_CurrentColor : root :: mozilla :: StyleAnimationValue_Unit = 11 ; pub const StyleAnimationValue_Unit_eUnit_ComplexColor : root :: mozilla :: StyleAnimationValue_Unit = 12 ; pub const StyleAnimationValue_Unit_eUnit_Calc : root :: mozilla :: StyleAnimationValue_Unit = 13 ; pub const StyleAnimationValue_Unit_eUnit_ObjectPosition : root :: mozilla :: StyleAnimationValue_Unit = 14 ; pub const StyleAnimationValue_Unit_eUnit_URL : root :: mozilla :: StyleAnimationValue_Unit = 15 ; pub const StyleAnimationValue_Unit_eUnit_DiscreteCSSValue : root :: mozilla :: StyleAnimationValue_Unit = 16 ; pub const StyleAnimationValue_Unit_eUnit_CSSValuePair : root :: mozilla :: StyleAnimationValue_Unit = 17 ; pub const StyleAnimationValue_Unit_eUnit_CSSValueTriplet : root :: mozilla :: StyleAnimationValue_Unit = 18 ; pub const StyleAnimationValue_Unit_eUnit_CSSRect : root :: mozilla :: StyleAnimationValue_Unit = 19 ; pub const StyleAnimationValue_Unit_eUnit_Dasharray : root :: mozilla :: StyleAnimationValue_Unit = 20 ; pub const StyleAnimationValue_Unit_eUnit_Shadow : root :: mozilla :: StyleAnimationValue_Unit = 21 ; pub const StyleAnimationValue_Unit_eUnit_Shape : root :: mozilla :: StyleAnimationValue_Unit = 22 ; pub const StyleAnimationValue_Unit_eUnit_Filter : root :: mozilla :: StyleAnimationValue_Unit = 23 ; pub const StyleAnimationValue_Unit_eUnit_Transform : root :: mozilla :: StyleAnimationValue_Unit = 24 ; pub const StyleAnimationValue_Unit_eUnit_BackgroundPositionCoord : root :: mozilla :: StyleAnimationValue_Unit = 25 ; pub const StyleAnimationValue_Unit_eUnit_CSSValuePairList : root :: mozilla :: StyleAnimationValue_Unit = 26 ; pub const StyleAnimationValue_Unit_eUnit_UnparsedString : root :: mozilla :: StyleAnimationValue_Unit = 27 ; pub type StyleAnimationValue_Unit = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct StyleAnimationValue__bindgen_ty_1 { pub mInt : root :: __BindgenUnionField < i32 > , pub mCoord : root :: __BindgenUnionField < root :: nscoord > , pub mFloat : root :: __BindgenUnionField < f32 > , pub mCSSValue : root :: __BindgenUnionField < * mut root :: nsCSSValue > , pub mCSSValuePair : root :: __BindgenUnionField < * mut root :: nsCSSValuePair > , pub mCSSValueTriplet : root :: __BindgenUnionField < * mut root :: nsCSSValueTriplet > , pub mCSSRect : root :: __BindgenUnionField < * mut root :: nsCSSRect > , pub mCSSValueArray : root :: __BindgenUnionField < * mut root :: nsCSSValue_Array > , pub mCSSValueList : root :: __BindgenUnionField < * mut root :: nsCSSValueList > , pub mCSSValueSharedList : root :: __BindgenUnionField < * mut root :: nsCSSValueSharedList > , pub mCSSValuePairList : root :: __BindgenUnionField < * mut root :: nsCSSValuePairList > , pub mString : root :: __BindgenUnionField < * mut root :: nsStringBuffer > , pub mComplexColor : root :: __BindgenUnionField < * mut root :: mozilla :: css :: ComplexColorValue > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_StyleAnimationValue__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleAnimationValue__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleAnimationValue__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mInt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mInt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCoord as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCoord ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mFloat as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValuePair as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValuePair ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValueTriplet as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValueTriplet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSRect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSRect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValueArray as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValueArray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValueList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValueList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValueSharedList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValueSharedList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mCSSValuePairList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mCSSValuePairList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) . mComplexColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify ! ( mComplexColor ) ) ) ; } impl Clone for StyleAnimationValue__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } pub const StyleAnimationValue_IntegerConstructorType_IntegerConstructor : root :: mozilla :: StyleAnimationValue_IntegerConstructorType = 0 ; pub type StyleAnimationValue_IntegerConstructorType = :: std :: os :: raw :: c_uint ; pub const StyleAnimationValue_CoordConstructorType_CoordConstructor : root :: mozilla :: StyleAnimationValue_CoordConstructorType = 0 ; pub type StyleAnimationValue_CoordConstructorType = :: std :: os :: raw :: c_uint ; pub const StyleAnimationValue_PercentConstructorType_PercentConstructor : root :: mozilla :: StyleAnimationValue_PercentConstructorType = 0 ; pub type StyleAnimationValue_PercentConstructorType = :: std :: os :: raw :: c_uint ; pub const StyleAnimationValue_FloatConstructorType_FloatConstructor : root :: mozilla :: StyleAnimationValue_FloatConstructorType = 0 ; pub type StyleAnimationValue_FloatConstructorType = :: std :: os :: raw :: c_uint ; pub const StyleAnimationValue_ColorConstructorType_ColorConstructor : root :: mozilla :: StyleAnimationValue_ColorConstructorType = 0 ; pub type StyleAnimationValue_ColorConstructorType = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_StyleAnimationValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleAnimationValue > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( StyleAnimationValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleAnimationValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleAnimationValue ) ) ) ; } impl Clone for StyleAnimationValue { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct AnimationValue { pub mGecko : root :: mozilla :: StyleAnimationValue , pub mServo : root :: RefPtr < root :: RawServoAnimationValue > , } # [ test ] fn bindgen_test_layout_AnimationValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AnimationValue > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( AnimationValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AnimationValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( AnimationValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationValue ) ) . mGecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationValue ) , "::" , stringify ! ( mGecko ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationValue ) ) . mServo as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationValue ) , "::" , stringify ! ( mServo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct PropertyStyleAnimationValuePair { pub mProperty : root :: nsCSSPropertyID , pub mValue : root :: mozilla :: AnimationValue , } # [ test ] fn bindgen_test_layout_PropertyStyleAnimationValuePair ( ) { assert_eq ! ( :: std :: mem :: size_of :: < PropertyStyleAnimationValuePair > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( PropertyStyleAnimationValuePair ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < PropertyStyleAnimationValuePair > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( PropertyStyleAnimationValuePair ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const PropertyStyleAnimationValuePair ) ) . mProperty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( PropertyStyleAnimationValuePair ) , "::" , stringify ! ( mProperty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const PropertyStyleAnimationValuePair ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( PropertyStyleAnimationValuePair ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( C ) ] pub struct StyleSheetInfo__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; /// Struct for data common to CSSStyleSheetInner and ServoStyleSheet. # [ repr ( C ) ] pub struct StyleSheetInfo { pub vtable_ : * const StyleSheetInfo__bindgen_vtable , pub mSheetURI : root :: nsCOMPtr , pub mOriginalSheetURI : root :: nsCOMPtr , pub mBaseURI : root :: nsCOMPtr , pub mPrincipal : root :: nsCOMPtr , pub mCORSMode : root :: mozilla :: CORSMode , pub mReferrerPolicy : root :: mozilla :: StyleSheetInfo_ReferrerPolicy , pub mIntegrity : root :: mozilla :: dom :: SRIMetadata , pub mComplete : bool , pub mFirstChild : root :: RefPtr < root :: mozilla :: StyleSheet > , pub mSheets : [ u64 ; 10usize ] , pub mSourceMapURL : ::nsstring::nsStringRepr , pub mSourceMapURLFromComment : ::nsstring::nsStringRepr , pub mSourceURL : ::nsstring::nsStringRepr , } pub use self :: super :: super :: root :: mozilla :: net :: ReferrerPolicy as StyleSheetInfo_ReferrerPolicy ; # [ test ] fn bindgen_test_layout_StyleSheetInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StyleSheetInfo > ( ) , 240usize , concat ! ( "Size of: " , stringify ! ( StyleSheetInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StyleSheetInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( StyleSheetInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mSheetURI as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mSheetURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mOriginalSheetURI as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mOriginalSheetURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mBaseURI as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mBaseURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mPrincipal as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mCORSMode as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mCORSMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mReferrerPolicy as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mReferrerPolicy ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mIntegrity as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mIntegrity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mComplete as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mComplete ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mFirstChild as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mFirstChild ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mSheets as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mSourceMapURL as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mSourceMapURL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mSourceMapURLFromComment as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mSourceMapURLFromComment ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const StyleSheetInfo ) ) . mSourceURL as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( StyleSheetInfo ) , "::" , stringify ! ( mSourceURL ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ServoCSSRuleList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct ServoStyleSheetInner { pub _base : root :: mozilla :: StyleSheetInfo , pub mContents : root :: RefPtr < root :: RawServoStyleSheetContents > , pub mURLData : root :: RefPtr < root :: mozilla :: URLExtraData > , } # [ test ] fn bindgen_test_layout_ServoStyleSheetInner ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoStyleSheetInner > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( ServoStyleSheetInner ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoStyleSheetInner > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoStyleSheetInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSheetInner ) ) . mContents as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSheetInner ) , "::" , stringify ! ( mContents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSheetInner ) ) . mURLData as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSheetInner ) , "::" , stringify ! ( mURLData ) ) ) ; } # [ repr ( C ) ] pub struct ServoStyleSheet { pub _base : root :: mozilla :: StyleSheet , pub mRuleList : root :: RefPtr < root :: mozilla :: ServoCSSRuleList > , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ServoStyleSheet_cycleCollection { pub _base : root :: mozilla :: StyleSheet_cycleCollection , } # [ test ] fn bindgen_test_layout_ServoStyleSheet_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoStyleSheet_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ServoStyleSheet_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoStyleSheet_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoStyleSheet_cycleCollection ) ) ) ; } impl Clone for ServoStyleSheet_cycleCollection { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ServoStyleSheet_COMTypeInfo { pub _address : u8 , } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla15ServoStyleSheet21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN7mozilla15ServoStyleSheet21_cycleCollectorGlobalE" ] pub static mut ServoStyleSheet__cycleCollectorGlobal : root :: mozilla :: ServoStyleSheet_cycleCollection ; } # [ test ] fn bindgen_test_layout_ServoStyleSheet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoStyleSheet > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( ServoStyleSheet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoStyleSheet > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoStyleSheet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSheet ) ) . mRuleList as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSheet ) , "::" , stringify ! ( mRuleList ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct URIPrincipalReferrerPolicyAndCORSModeHashKey { pub _base : root :: nsURIHashKey , pub mPrincipal : root :: nsCOMPtr , pub mCORSMode : root :: mozilla :: CORSMode , pub mReferrerPolicy : root :: mozilla :: URIPrincipalReferrerPolicyAndCORSModeHashKey_ReferrerPolicy , } pub type URIPrincipalReferrerPolicyAndCORSModeHashKey_KeyType = * mut root :: mozilla :: URIPrincipalReferrerPolicyAndCORSModeHashKey ; pub type URIPrincipalReferrerPolicyAndCORSModeHashKey_KeyTypePointer = * const root :: mozilla :: URIPrincipalReferrerPolicyAndCORSModeHashKey ; pub use self :: super :: super :: root :: mozilla :: net :: ReferrerPolicy as URIPrincipalReferrerPolicyAndCORSModeHashKey_ReferrerPolicy ; pub const URIPrincipalReferrerPolicyAndCORSModeHashKey_ALLOW_MEMMOVE : root :: mozilla :: URIPrincipalReferrerPolicyAndCORSModeHashKey__bindgen_ty_1 = 1 ; pub type URIPrincipalReferrerPolicyAndCORSModeHashKey__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_URIPrincipalReferrerPolicyAndCORSModeHashKey ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URIPrincipalReferrerPolicyAndCORSModeHashKey > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( URIPrincipalReferrerPolicyAndCORSModeHashKey ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URIPrincipalReferrerPolicyAndCORSModeHashKey > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URIPrincipalReferrerPolicyAndCORSModeHashKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URIPrincipalReferrerPolicyAndCORSModeHashKey ) ) . mPrincipal as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( URIPrincipalReferrerPolicyAndCORSModeHashKey ) , "::" , stringify ! ( mPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URIPrincipalReferrerPolicyAndCORSModeHashKey ) ) . mCORSMode as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( URIPrincipalReferrerPolicyAndCORSModeHashKey ) , "::" , stringify ! ( mCORSMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URIPrincipalReferrerPolicyAndCORSModeHashKey ) ) . mReferrerPolicy as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( URIPrincipalReferrerPolicyAndCORSModeHashKey ) , "::" , stringify ! ( mReferrerPolicy ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ComputedTimingFunction { pub mType : root :: nsTimingFunction_Type , pub mTimingFunction : root :: nsSMILKeySpline , pub mStepsOrFrames : u32 , } pub const ComputedTimingFunction_BeforeFlag_Unset : root :: mozilla :: ComputedTimingFunction_BeforeFlag = 0 ; pub const ComputedTimingFunction_BeforeFlag_Set : root :: mozilla :: ComputedTimingFunction_BeforeFlag = 1 ; pub type ComputedTimingFunction_BeforeFlag = :: std :: os :: raw :: c_int ; # [ test ] fn bindgen_test_layout_ComputedTimingFunction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ComputedTimingFunction > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( ComputedTimingFunction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ComputedTimingFunction > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ComputedTimingFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComputedTimingFunction ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ComputedTimingFunction ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComputedTimingFunction ) ) . mTimingFunction as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ComputedTimingFunction ) , "::" , stringify ! ( mTimingFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ComputedTimingFunction ) ) . mStepsOrFrames as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( ComputedTimingFunction ) , "::" , stringify ! ( mStepsOrFrames ) ) ) ; } impl Clone for ComputedTimingFunction { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct AnimationPropertySegment { pub mFromKey : f32 , pub mToKey : f32 , pub mFromValue : root :: mozilla :: AnimationValue , pub mToValue : root :: mozilla :: AnimationValue , pub mTimingFunction : [ u64 ; 18usize ] , pub mFromComposite : root :: mozilla :: dom :: CompositeOperation , pub mToComposite : root :: mozilla :: dom :: CompositeOperation , } # [ test ] fn bindgen_test_layout_AnimationPropertySegment ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AnimationPropertySegment > ( ) , 208usize , concat ! ( "Size of: " , stringify ! ( AnimationPropertySegment ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AnimationPropertySegment > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( AnimationPropertySegment ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mFromKey as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mFromKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mToKey as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mToKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mFromValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mFromValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mToValue as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mToValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mTimingFunction as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mTimingFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mFromComposite as * const _ as usize } , 200usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mFromComposite ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const AnimationPropertySegment ) ) . mToComposite as * const _ as usize } , 201usize , concat ! ( "Alignment of field: " , stringify ! ( AnimationPropertySegment ) , "::" , stringify ! ( mToComposite ) ) ) ; } /// A ValueCalculator class that performs additional checks before performing @@ -387,34 +384,34 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// This means the attributes, and the element state, such as :hover, :active, /// etc... # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ServoElementSnapshot { pub mAttrs : root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > , pub mClass : root :: nsAttrValue , pub mState : root :: mozilla :: ServoElementSnapshot_ServoStateType , pub mContains : root :: mozilla :: ServoElementSnapshot_Flags , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u16 ; 3usize ] , } pub type ServoElementSnapshot_BorrowedAttrInfo = root :: mozilla :: dom :: BorrowedAttrInfo ; pub type ServoElementSnapshot_Element = root :: mozilla :: dom :: Element ; pub type ServoElementSnapshot_ServoStateType = root :: mozilla :: EventStates_ServoType ; pub use self :: super :: super :: root :: mozilla :: ServoElementSnapshotFlags as ServoElementSnapshot_Flags ; # [ test ] fn bindgen_test_layout_ServoElementSnapshot ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoElementSnapshot > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ServoElementSnapshot ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoElementSnapshot > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoElementSnapshot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoElementSnapshot ) ) . mAttrs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ServoElementSnapshot ) , "::" , stringify ! ( mAttrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoElementSnapshot ) ) . mClass as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ServoElementSnapshot ) , "::" , stringify ! ( mClass ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoElementSnapshot ) ) . mState as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoElementSnapshot ) , "::" , stringify ! ( mState ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoElementSnapshot ) ) . mContains as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ServoElementSnapshot ) , "::" , stringify ! ( mContains ) ) ) ; } impl ServoElementSnapshot { # [ inline ] pub fn mIsHTMLElementInHTMLDocument ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsHTMLElementInHTMLDocument ( & mut self , val : bool ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsInChromeDocument ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsInChromeDocument ( & mut self , val : bool ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mSupportsLangAttr ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mSupportsLangAttr ( & mut self , val : bool ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsTableBorderNonzero ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsTableBorderNonzero ( & mut self , val : bool ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsMozBrowserFrame ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsMozBrowserFrame ( & mut self , val : bool ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mClassAttributeChanged ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mClassAttributeChanged ( & mut self , val : bool ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIdAttributeChanged ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x40 as u8 ; let val = ( unit_field_val & mask ) >> 6usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIdAttributeChanged ( & mut self , val : bool ) { let mask = 0x40 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 6usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mOtherAttributeChanged ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x80 as u8 ; let val = ( unit_field_val & mask ) >> 7usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mOtherAttributeChanged ( & mut self , val : bool ) { let mask = 0x80 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 7usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mIsHTMLElementInHTMLDocument : bool , mIsInChromeDocument : bool , mSupportsLangAttr : bool , mIsTableBorderNonzero : bool , mIsMozBrowserFrame : bool , mClassAttributeChanged : bool , mIdAttributeChanged : bool , mOtherAttributeChanged : bool ) -> u8 { ( ( ( ( ( ( ( ( 0 | ( ( mIsHTMLElementInHTMLDocument as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mIsInChromeDocument as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( mSupportsLangAttr as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( mIsTableBorderNonzero as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( mIsMozBrowserFrame as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( mClassAttributeChanged as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) | ( ( mIdAttributeChanged as u8 as u8 ) << 6usize ) & ( 0x40 as u8 ) ) | ( ( mOtherAttributeChanged as u8 as u8 ) << 7usize ) & ( 0x80 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ServoElementSnapshotTable { pub _base : [ u64 ; 4usize ] , } # [ test ] fn bindgen_test_layout_ServoElementSnapshotTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoElementSnapshotTable > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ServoElementSnapshotTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoElementSnapshotTable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoElementSnapshotTable ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct LookAndFeel { pub _address : u8 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum LookAndFeel_ColorID { eColorID_WindowBackground = 0 , eColorID_WindowForeground = 1 , eColorID_WidgetBackground = 2 , eColorID_WidgetForeground = 3 , eColorID_WidgetSelectBackground = 4 , eColorID_WidgetSelectForeground = 5 , eColorID_Widget3DHighlight = 6 , eColorID_Widget3DShadow = 7 , eColorID_TextBackground = 8 , eColorID_TextForeground = 9 , eColorID_TextSelectBackground = 10 , eColorID_TextSelectForeground = 11 , eColorID_TextSelectForegroundCustom = 12 , eColorID_TextSelectBackgroundDisabled = 13 , eColorID_TextSelectBackgroundAttention = 14 , eColorID_TextHighlightBackground = 15 , eColorID_TextHighlightForeground = 16 , eColorID_IMERawInputBackground = 17 , eColorID_IMERawInputForeground = 18 , eColorID_IMERawInputUnderline = 19 , eColorID_IMESelectedRawTextBackground = 20 , eColorID_IMESelectedRawTextForeground = 21 , eColorID_IMESelectedRawTextUnderline = 22 , eColorID_IMEConvertedTextBackground = 23 , eColorID_IMEConvertedTextForeground = 24 , eColorID_IMEConvertedTextUnderline = 25 , eColorID_IMESelectedConvertedTextBackground = 26 , eColorID_IMESelectedConvertedTextForeground = 27 , eColorID_IMESelectedConvertedTextUnderline = 28 , eColorID_SpellCheckerUnderline = 29 , eColorID_activeborder = 30 , eColorID_activecaption = 31 , eColorID_appworkspace = 32 , eColorID_background = 33 , eColorID_buttonface = 34 , eColorID_buttonhighlight = 35 , eColorID_buttonshadow = 36 , eColorID_buttontext = 37 , eColorID_captiontext = 38 , eColorID_graytext = 39 , eColorID_highlight = 40 , eColorID_highlighttext = 41 , eColorID_inactiveborder = 42 , eColorID_inactivecaption = 43 , eColorID_inactivecaptiontext = 44 , eColorID_infobackground = 45 , eColorID_infotext = 46 , eColorID_menu = 47 , eColorID_menutext = 48 , eColorID_scrollbar = 49 , eColorID_threeddarkshadow = 50 , eColorID_threedface = 51 , eColorID_threedhighlight = 52 , eColorID_threedlightshadow = 53 , eColorID_threedshadow = 54 , eColorID_window = 55 , eColorID_windowframe = 56 , eColorID_windowtext = 57 , eColorID__moz_buttondefault = 58 , eColorID__moz_field = 59 , eColorID__moz_fieldtext = 60 , eColorID__moz_dialog = 61 , eColorID__moz_dialogtext = 62 , eColorID__moz_dragtargetzone = 63 , eColorID__moz_cellhighlight = 64 , eColorID__moz_cellhighlighttext = 65 , eColorID__moz_html_cellhighlight = 66 , eColorID__moz_html_cellhighlighttext = 67 , eColorID__moz_buttonhoverface = 68 , eColorID__moz_buttonhovertext = 69 , eColorID__moz_menuhover = 70 , eColorID__moz_menuhovertext = 71 , eColorID__moz_menubartext = 72 , eColorID__moz_menubarhovertext = 73 , eColorID__moz_eventreerow = 74 , eColorID__moz_oddtreerow = 75 , eColorID__moz_mac_buttonactivetext = 76 , eColorID__moz_mac_chrome_active = 77 , eColorID__moz_mac_chrome_inactive = 78 , eColorID__moz_mac_defaultbuttontext = 79 , eColorID__moz_mac_focusring = 80 , eColorID__moz_mac_menuselect = 81 , eColorID__moz_mac_menushadow = 82 , eColorID__moz_mac_menutextdisable = 83 , eColorID__moz_mac_menutextselect = 84 , eColorID__moz_mac_disabledtoolbartext = 85 , eColorID__moz_mac_secondaryhighlight = 86 , eColorID__moz_mac_vibrancy_light = 87 , eColorID__moz_mac_vibrancy_dark = 88 , eColorID__moz_mac_vibrant_titlebar_light = 89 , eColorID__moz_mac_vibrant_titlebar_dark = 90 , eColorID__moz_mac_menupopup = 91 , eColorID__moz_mac_menuitem = 92 , eColorID__moz_mac_active_menuitem = 93 , eColorID__moz_mac_source_list = 94 , eColorID__moz_mac_source_list_selection = 95 , eColorID__moz_mac_active_source_list_selection = 96 , eColorID__moz_mac_tooltip = 97 , eColorID__moz_win_accentcolor = 98 , eColorID__moz_win_accentcolortext = 99 , eColorID__moz_win_mediatext = 100 , eColorID__moz_win_communicationstext = 101 , eColorID__moz_nativehyperlinktext = 102 , eColorID__moz_comboboxtext = 103 , eColorID__moz_combobox = 104 , eColorID__moz_gtk_info_bar_text = 105 , eColorID_LAST_COLOR = 106 , } pub const LookAndFeel_IntID_eIntID_CaretBlinkTime : root :: mozilla :: LookAndFeel_IntID = 0 ; pub const LookAndFeel_IntID_eIntID_CaretWidth : root :: mozilla :: LookAndFeel_IntID = 1 ; pub const LookAndFeel_IntID_eIntID_ShowCaretDuringSelection : root :: mozilla :: LookAndFeel_IntID = 2 ; pub const LookAndFeel_IntID_eIntID_SelectTextfieldsOnKeyFocus : root :: mozilla :: LookAndFeel_IntID = 3 ; pub const LookAndFeel_IntID_eIntID_SubmenuDelay : root :: mozilla :: LookAndFeel_IntID = 4 ; pub const LookAndFeel_IntID_eIntID_MenusCanOverlapOSBar : root :: mozilla :: LookAndFeel_IntID = 5 ; pub const LookAndFeel_IntID_eIntID_UseOverlayScrollbars : root :: mozilla :: LookAndFeel_IntID = 6 ; pub const LookAndFeel_IntID_eIntID_AllowOverlayScrollbarsOverlap : root :: mozilla :: LookAndFeel_IntID = 7 ; pub const LookAndFeel_IntID_eIntID_ShowHideScrollbars : root :: mozilla :: LookAndFeel_IntID = 8 ; pub const LookAndFeel_IntID_eIntID_SkipNavigatingDisabledMenuItem : root :: mozilla :: LookAndFeel_IntID = 9 ; pub const LookAndFeel_IntID_eIntID_DragThresholdX : root :: mozilla :: LookAndFeel_IntID = 10 ; pub const LookAndFeel_IntID_eIntID_DragThresholdY : root :: mozilla :: LookAndFeel_IntID = 11 ; pub const LookAndFeel_IntID_eIntID_UseAccessibilityTheme : root :: mozilla :: LookAndFeel_IntID = 12 ; pub const LookAndFeel_IntID_eIntID_ScrollArrowStyle : root :: mozilla :: LookAndFeel_IntID = 13 ; pub const LookAndFeel_IntID_eIntID_ScrollSliderStyle : root :: mozilla :: LookAndFeel_IntID = 14 ; pub const LookAndFeel_IntID_eIntID_ScrollButtonLeftMouseButtonAction : root :: mozilla :: LookAndFeel_IntID = 15 ; pub const LookAndFeel_IntID_eIntID_ScrollButtonMiddleMouseButtonAction : root :: mozilla :: LookAndFeel_IntID = 16 ; pub const LookAndFeel_IntID_eIntID_ScrollButtonRightMouseButtonAction : root :: mozilla :: LookAndFeel_IntID = 17 ; pub const LookAndFeel_IntID_eIntID_TreeOpenDelay : root :: mozilla :: LookAndFeel_IntID = 18 ; pub const LookAndFeel_IntID_eIntID_TreeCloseDelay : root :: mozilla :: LookAndFeel_IntID = 19 ; pub const LookAndFeel_IntID_eIntID_TreeLazyScrollDelay : root :: mozilla :: LookAndFeel_IntID = 20 ; pub const LookAndFeel_IntID_eIntID_TreeScrollDelay : root :: mozilla :: LookAndFeel_IntID = 21 ; pub const LookAndFeel_IntID_eIntID_TreeScrollLinesMax : root :: mozilla :: LookAndFeel_IntID = 22 ; pub const LookAndFeel_IntID_eIntID_TabFocusModel : root :: mozilla :: LookAndFeel_IntID = 23 ; pub const LookAndFeel_IntID_eIntID_ChosenMenuItemsShouldBlink : root :: mozilla :: LookAndFeel_IntID = 24 ; pub const LookAndFeel_IntID_eIntID_WindowsAccentColorInTitlebar : root :: mozilla :: LookAndFeel_IntID = 25 ; pub const LookAndFeel_IntID_eIntID_WindowsDefaultTheme : root :: mozilla :: LookAndFeel_IntID = 26 ; pub const LookAndFeel_IntID_eIntID_DWMCompositor : root :: mozilla :: LookAndFeel_IntID = 27 ; pub const LookAndFeel_IntID_eIntID_WindowsClassic : root :: mozilla :: LookAndFeel_IntID = 28 ; pub const LookAndFeel_IntID_eIntID_WindowsGlass : root :: mozilla :: LookAndFeel_IntID = 29 ; pub const LookAndFeel_IntID_eIntID_TouchEnabled : root :: mozilla :: LookAndFeel_IntID = 30 ; pub const LookAndFeel_IntID_eIntID_MacGraphiteTheme : root :: mozilla :: LookAndFeel_IntID = 31 ; pub const LookAndFeel_IntID_eIntID_MacYosemiteTheme : root :: mozilla :: LookAndFeel_IntID = 32 ; pub const LookAndFeel_IntID_eIntID_AlertNotificationOrigin : root :: mozilla :: LookAndFeel_IntID = 33 ; pub const LookAndFeel_IntID_eIntID_ScrollToClick : root :: mozilla :: LookAndFeel_IntID = 34 ; pub const LookAndFeel_IntID_eIntID_IMERawInputUnderlineStyle : root :: mozilla :: LookAndFeel_IntID = 35 ; pub const LookAndFeel_IntID_eIntID_IMESelectedRawTextUnderlineStyle : root :: mozilla :: LookAndFeel_IntID = 36 ; pub const LookAndFeel_IntID_eIntID_IMEConvertedTextUnderlineStyle : root :: mozilla :: LookAndFeel_IntID = 37 ; pub const LookAndFeel_IntID_eIntID_IMESelectedConvertedTextUnderline : root :: mozilla :: LookAndFeel_IntID = 38 ; pub const LookAndFeel_IntID_eIntID_SpellCheckerUnderlineStyle : root :: mozilla :: LookAndFeel_IntID = 39 ; pub const LookAndFeel_IntID_eIntID_MenuBarDrag : root :: mozilla :: LookAndFeel_IntID = 40 ; pub const LookAndFeel_IntID_eIntID_WindowsThemeIdentifier : root :: mozilla :: LookAndFeel_IntID = 41 ; pub const LookAndFeel_IntID_eIntID_OperatingSystemVersionIdentifier : root :: mozilla :: LookAndFeel_IntID = 42 ; pub const LookAndFeel_IntID_eIntID_ScrollbarButtonAutoRepeatBehavior : root :: mozilla :: LookAndFeel_IntID = 43 ; pub const LookAndFeel_IntID_eIntID_TooltipDelay : root :: mozilla :: LookAndFeel_IntID = 44 ; pub const LookAndFeel_IntID_eIntID_SwipeAnimationEnabled : root :: mozilla :: LookAndFeel_IntID = 45 ; pub const LookAndFeel_IntID_eIntID_ScrollbarDisplayOnMouseMove : root :: mozilla :: LookAndFeel_IntID = 46 ; pub const LookAndFeel_IntID_eIntID_ScrollbarFadeBeginDelay : root :: mozilla :: LookAndFeel_IntID = 47 ; pub const LookAndFeel_IntID_eIntID_ScrollbarFadeDuration : root :: mozilla :: LookAndFeel_IntID = 48 ; pub const LookAndFeel_IntID_eIntID_ContextMenuOffsetVertical : root :: mozilla :: LookAndFeel_IntID = 49 ; pub const LookAndFeel_IntID_eIntID_ContextMenuOffsetHorizontal : root :: mozilla :: LookAndFeel_IntID = 50 ; pub const LookAndFeel_IntID_eIntID_GTKCSDAvailable : root :: mozilla :: LookAndFeel_IntID = 51 ; pub const LookAndFeel_IntID_eIntID_GTKCSDMinimizeButton : root :: mozilla :: LookAndFeel_IntID = 52 ; pub const LookAndFeel_IntID_eIntID_GTKCSDMaximizeButton : root :: mozilla :: LookAndFeel_IntID = 53 ; pub const LookAndFeel_IntID_eIntID_GTKCSDCloseButton : root :: mozilla :: LookAndFeel_IntID = 54 ; pub type LookAndFeel_IntID = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_Generic : root :: mozilla :: LookAndFeel_WindowsTheme = 0 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_Classic : root :: mozilla :: LookAndFeel_WindowsTheme = 1 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_Aero : root :: mozilla :: LookAndFeel_WindowsTheme = 2 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_LunaBlue : root :: mozilla :: LookAndFeel_WindowsTheme = 3 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_LunaOlive : root :: mozilla :: LookAndFeel_WindowsTheme = 4 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_LunaSilver : root :: mozilla :: LookAndFeel_WindowsTheme = 5 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_Royale : root :: mozilla :: LookAndFeel_WindowsTheme = 6 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_Zune : root :: mozilla :: LookAndFeel_WindowsTheme = 7 ; pub const LookAndFeel_WindowsTheme_eWindowsTheme_AeroLite : root :: mozilla :: LookAndFeel_WindowsTheme = 8 ; pub type LookAndFeel_WindowsTheme = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Windows7 : root :: mozilla :: LookAndFeel_OperatingSystemVersion = 2 ; pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Windows8 : root :: mozilla :: LookAndFeel_OperatingSystemVersion = 3 ; pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Windows10 : root :: mozilla :: LookAndFeel_OperatingSystemVersion = 4 ; pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Unknown : root :: mozilla :: LookAndFeel_OperatingSystemVersion = 5 ; pub type LookAndFeel_OperatingSystemVersion = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_eScrollArrow_None : root :: mozilla :: LookAndFeel__bindgen_ty_1 = 0 ; pub const LookAndFeel_eScrollArrow_StartBackward : root :: mozilla :: LookAndFeel__bindgen_ty_1 = 4096 ; pub const LookAndFeel_eScrollArrow_StartForward : root :: mozilla :: LookAndFeel__bindgen_ty_1 = 256 ; pub const LookAndFeel_eScrollArrow_EndBackward : root :: mozilla :: LookAndFeel__bindgen_ty_1 = 16 ; pub const LookAndFeel_eScrollArrow_EndForward : root :: mozilla :: LookAndFeel__bindgen_ty_1 = 1 ; pub type LookAndFeel__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_eScrollArrowStyle_Single : root :: mozilla :: LookAndFeel__bindgen_ty_2 = 4097 ; pub const LookAndFeel_eScrollArrowStyle_BothAtBottom : root :: mozilla :: LookAndFeel__bindgen_ty_2 = 17 ; pub const LookAndFeel_eScrollArrowStyle_BothAtEachEnd : root :: mozilla :: LookAndFeel__bindgen_ty_2 = 4369 ; pub const LookAndFeel_eScrollArrowStyle_BothAtTop : root :: mozilla :: LookAndFeel__bindgen_ty_2 = 4352 ; pub type LookAndFeel__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_eScrollThumbStyle_Normal : root :: mozilla :: LookAndFeel__bindgen_ty_3 = 0 ; pub const LookAndFeel_eScrollThumbStyle_Proportional : root :: mozilla :: LookAndFeel__bindgen_ty_3 = 1 ; pub type LookAndFeel__bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_FloatID_eFloatID_IMEUnderlineRelativeSize : root :: mozilla :: LookAndFeel_FloatID = 0 ; pub const LookAndFeel_FloatID_eFloatID_SpellCheckerUnderlineRelativeSize : root :: mozilla :: LookAndFeel_FloatID = 1 ; pub const LookAndFeel_FloatID_eFloatID_CaretAspectRatio : root :: mozilla :: LookAndFeel_FloatID = 2 ; pub type LookAndFeel_FloatID = :: std :: os :: raw :: c_uint ; pub const LookAndFeel_FontID_FontID_MINIMUM : root :: mozilla :: LookAndFeel_FontID = LookAndFeel_FontID :: eFont_Caption ; pub const LookAndFeel_FontID_FontID_MAXIMUM : root :: mozilla :: LookAndFeel_FontID = LookAndFeel_FontID :: eFont_Widget ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum LookAndFeel_FontID { eFont_Caption = 1 , eFont_Icon = 2 , eFont_Menu = 3 , eFont_MessageBox = 4 , eFont_SmallCaption = 5 , eFont_StatusBar = 6 , eFont_Window = 7 , eFont_Document = 8 , eFont_Workspace = 9 , eFont_Desktop = 10 , eFont_Info = 11 , eFont_Dialog = 12 , eFont_Button = 13 , eFont_PullDownMenu = 14 , eFont_List = 15 , eFont_Field = 16 , eFont_Tooltips = 17 , eFont_Widget = 18 , } # [ test ] fn bindgen_test_layout_LookAndFeel ( ) { assert_eq ! ( :: std :: mem :: size_of :: < LookAndFeel > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( LookAndFeel ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < LookAndFeel > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( LookAndFeel ) ) ) ; } impl Clone for LookAndFeel { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct StylePrefs { pub _address : u8 , } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla10StylePrefs19sFontDisplayEnabledE" ] + # [ link_name = "\u{1}_ZN7mozilla10StylePrefs19sFontDisplayEnabledE" ] pub static mut StylePrefs_sFontDisplayEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla10StylePrefs19sOpentypeSVGEnabledE" ] + # [ link_name = "\u{1}_ZN7mozilla10StylePrefs19sOpentypeSVGEnabledE" ] pub static mut StylePrefs_sOpentypeSVGEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla10StylePrefs29sWebkitPrefixedAliasesEnabledE" ] + # [ link_name = "\u{1}_ZN7mozilla10StylePrefs29sWebkitPrefixedAliasesEnabledE" ] pub static mut StylePrefs_sWebkitPrefixedAliasesEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla10StylePrefs30sWebkitDevicePixelRatioEnabledE" ] + # [ link_name = "\u{1}_ZN7mozilla10StylePrefs30sWebkitDevicePixelRatioEnabledE" ] pub static mut StylePrefs_sWebkitDevicePixelRatioEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla10StylePrefs20sMozGradientsEnabledE" ] + # [ link_name = "\u{1}_ZN7mozilla10StylePrefs20sMozGradientsEnabledE" ] pub static mut StylePrefs_sMozGradientsEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla10StylePrefs22sControlCharVisibilityE" ] + # [ link_name = "\u{1}_ZN7mozilla10StylePrefs22sControlCharVisibilityE" ] pub static mut StylePrefs_sControlCharVisibility : bool ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla10StylePrefs28sFramesTimingFunctionEnabledE" ] + # [ link_name = "\u{1}_ZN7mozilla10StylePrefs28sFramesTimingFunctionEnabledE" ] pub static mut StylePrefs_sFramesTimingFunctionEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla10StylePrefs31sUnprefixedFullscreenApiEnabledE" ] + # [ link_name = "\u{1}_ZN7mozilla10StylePrefs31sUnprefixedFullscreenApiEnabledE" ] pub static mut StylePrefs_sUnprefixedFullscreenApiEnabled : bool ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla10StylePrefs20sVisitedLinksEnabledE" ] + # [ link_name = "\u{1}_ZN7mozilla10StylePrefs20sVisitedLinksEnabledE" ] pub static mut StylePrefs_sVisitedLinksEnabled : bool ; } # [ test ] fn bindgen_test_layout_StylePrefs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < StylePrefs > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( StylePrefs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < StylePrefs > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( StylePrefs ) ) ) ; } impl Clone for StylePrefs { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct NonOwningAnimationTarget { pub mElement : * mut root :: mozilla :: dom :: Element , pub mPseudoType : root :: mozilla :: CSSPseudoElementType , } # [ test ] fn bindgen_test_layout_NonOwningAnimationTarget ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NonOwningAnimationTarget > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( NonOwningAnimationTarget ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NonOwningAnimationTarget > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NonOwningAnimationTarget ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NonOwningAnimationTarget ) ) . mElement as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( NonOwningAnimationTarget ) , "::" , stringify ! ( mElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NonOwningAnimationTarget ) ) . mPseudoType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( NonOwningAnimationTarget ) , "::" , stringify ! ( mPseudoType ) ) ) ; } impl Clone for NonOwningAnimationTarget { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct PseudoElementHashEntry { pub _base : root :: PLDHashEntryHdr , pub mElement : root :: RefPtr < root :: mozilla :: dom :: Element > , pub mPseudoType : root :: mozilla :: CSSPseudoElementType , } pub type PseudoElementHashEntry_KeyType = root :: mozilla :: NonOwningAnimationTarget ; pub type PseudoElementHashEntry_KeyTypePointer = * const root :: mozilla :: NonOwningAnimationTarget ; pub const PseudoElementHashEntry_ALLOW_MEMMOVE : root :: mozilla :: PseudoElementHashEntry__bindgen_ty_1 = 1 ; pub type PseudoElementHashEntry__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_PseudoElementHashEntry ( ) { assert_eq ! ( :: std :: mem :: size_of :: < PseudoElementHashEntry > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( PseudoElementHashEntry ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < PseudoElementHashEntry > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( PseudoElementHashEntry ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const PseudoElementHashEntry ) ) . mElement as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( PseudoElementHashEntry ) , "::" , stringify ! ( mElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const PseudoElementHashEntry ) ) . mPseudoType as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( PseudoElementHashEntry ) , "::" , stringify ! ( mPseudoType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct EffectCompositor { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mPresContext : * mut root :: nsPresContext , pub mElementsToRestyle : [ u64 ; 8usize ] , pub mIsInPreTraverse : bool , pub mRuleProcessors : [ u64 ; 2usize ] , } pub type EffectCompositor_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct EffectCompositor_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_EffectCompositor_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EffectCompositor_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( EffectCompositor_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EffectCompositor_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EffectCompositor_cycleCollection ) ) ) ; } impl Clone for EffectCompositor_cycleCollection { fn clone ( & self ) -> Self { * self } } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum EffectCompositor_CascadeLevel { Animations = 0 , Transitions = 1 , } pub const EffectCompositor_RestyleType_Throttled : root :: mozilla :: EffectCompositor_RestyleType = 0 ; pub const EffectCompositor_RestyleType_Standard : root :: mozilla :: EffectCompositor_RestyleType = 1 ; pub const EffectCompositor_RestyleType_Layer : root :: mozilla :: EffectCompositor_RestyleType = 2 ; pub type EffectCompositor_RestyleType = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct EffectCompositor_AnimationStyleRuleProcessor { pub _base : root :: nsIStyleRuleProcessor , pub mRefCnt : root :: nsAutoRefCnt , pub mCompositor : * mut root :: mozilla :: EffectCompositor , pub mCascadeLevel : root :: mozilla :: EffectCompositor_CascadeLevel , } pub type EffectCompositor_AnimationStyleRuleProcessor_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_EffectCompositor_AnimationStyleRuleProcessor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EffectCompositor_AnimationStyleRuleProcessor > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( EffectCompositor_AnimationStyleRuleProcessor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EffectCompositor_AnimationStyleRuleProcessor > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EffectCompositor_AnimationStyleRuleProcessor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor_AnimationStyleRuleProcessor ) ) . mRefCnt as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor_AnimationStyleRuleProcessor ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor_AnimationStyleRuleProcessor ) ) . mCompositor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor_AnimationStyleRuleProcessor ) , "::" , stringify ! ( mCompositor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor_AnimationStyleRuleProcessor ) ) . mCascadeLevel as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor_AnimationStyleRuleProcessor ) , "::" , stringify ! ( mCascadeLevel ) ) ) ; } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla16EffectCompositor21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN7mozilla16EffectCompositor21_cycleCollectorGlobalE" ] pub static mut EffectCompositor__cycleCollectorGlobal : root :: mozilla :: EffectCompositor_cycleCollection ; } pub const EffectCompositor_kCascadeLevelCount : usize = 2 ; # [ test ] fn bindgen_test_layout_EffectCompositor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EffectCompositor > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( EffectCompositor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EffectCompositor > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EffectCompositor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor ) ) . mPresContext as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor ) , "::" , stringify ! ( mPresContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor ) ) . mElementsToRestyle as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor ) , "::" , stringify ! ( mElementsToRestyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor ) ) . mIsInPreTraverse as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor ) , "::" , stringify ! ( mIsInPreTraverse ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const EffectCompositor ) ) . mRuleProcessors as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( EffectCompositor ) , "::" , stringify ! ( mRuleProcessors ) ) ) ; } pub type CSSPseudoClassTypeBase = u8 ; # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CSSPseudoClassType { empty = 0 , mozOnlyWhitespace = 1 , lang = 2 , root = 3 , any = 4 , firstChild = 5 , firstNode = 6 , lastChild = 7 , lastNode = 8 , onlyChild = 9 , firstOfType = 10 , lastOfType = 11 , onlyOfType = 12 , nthChild = 13 , nthLastChild = 14 , nthOfType = 15 , nthLastOfType = 16 , mozIsHTML = 17 , unresolved = 18 , mozNativeAnonymous = 19 , mozUseShadowTreeRoot = 20 , mozLocaleDir = 21 , mozLWTheme = 22 , mozLWThemeBrightText = 23 , mozLWThemeDarkText = 24 , mozWindowInactive = 25 , mozTableBorderNonzero = 26 , mozBrowserFrame = 27 , scope = 28 , negation = 29 , dir = 30 , link = 31 , mozAnyLink = 32 , anyLink = 33 , visited = 34 , active = 35 , checked = 36 , disabled = 37 , enabled = 38 , focus = 39 , focusWithin = 40 , hover = 41 , mozDragOver = 42 , target = 43 , indeterminate = 44 , mozDevtoolsHighlighted = 45 , mozStyleeditorTransitioning = 46 , fullscreen = 47 , mozFullScreen = 48 , mozFocusRing = 49 , mozBroken = 50 , mozLoading = 51 , mozUserDisabled = 52 , mozSuppressed = 53 , mozHandlerClickToPlay = 54 , mozHandlerVulnerableUpdatable = 55 , mozHandlerVulnerableNoUpdate = 56 , mozHandlerDisabled = 57 , mozHandlerBlocked = 58 , mozHandlerCrashed = 59 , mozMathIncrementScriptLevel = 60 , mozHasDirAttr = 61 , mozDirAttrLTR = 62 , mozDirAttrRTL = 63 , mozDirAttrLikeAuto = 64 , mozAutofill = 65 , mozAutofillPreview = 66 , required = 67 , optional = 68 , valid = 69 , invalid = 70 , inRange = 71 , outOfRange = 72 , defaultPseudo = 73 , placeholderShown = 74 , mozReadOnly = 75 , mozReadWrite = 76 , mozSubmitInvalid = 77 , mozUIInvalid = 78 , mozUIValid = 79 , mozMeterOptimum = 80 , mozMeterSubOptimum = 81 , mozMeterSubSubOptimum = 82 , mozPlaceholder = 83 , Count = 84 , NotPseudo = 85 , MAX = 86 , } # [ repr ( C ) ] pub struct GeckoFont { pub gecko : root :: nsStyleFont , } # [ test ] fn bindgen_test_layout_GeckoFont ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoFont > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( GeckoFont ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoFont > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoFont ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFont ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFont ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoColor { pub gecko : root :: nsStyleColor , } # [ test ] fn bindgen_test_layout_GeckoColor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoColor > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( GeckoColor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoColor > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoColor ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoColor ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] pub struct GeckoList { pub gecko : root :: nsStyleList , } # [ test ] fn bindgen_test_layout_GeckoList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoList > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( GeckoList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoList ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoList ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] pub struct GeckoText { pub gecko : root :: nsStyleText , } # [ test ] fn bindgen_test_layout_GeckoText ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoText > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( GeckoText ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoText > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoText ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoText ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoText ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoVisibility { pub gecko : root :: nsStyleVisibility , } # [ test ] fn bindgen_test_layout_GeckoVisibility ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoVisibility > ( ) , 7usize , concat ! ( "Size of: " , stringify ! ( GeckoVisibility ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoVisibility > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( GeckoVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoVisibility ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoVisibility ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoUserInterface { pub gecko : root :: nsStyleUserInterface , } # [ test ] fn bindgen_test_layout_GeckoUserInterface ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoUserInterface > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( GeckoUserInterface ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoUserInterface > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoUserInterface ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoUserInterface ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoUserInterface ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoTableBorder { pub gecko : root :: nsStyleTableBorder , } # [ test ] fn bindgen_test_layout_GeckoTableBorder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoTableBorder > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( GeckoTableBorder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoTableBorder > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoTableBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoTableBorder ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoTableBorder ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoSVG { pub gecko : root :: nsStyleSVG , } # [ test ] fn bindgen_test_layout_GeckoSVG ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoSVG > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( GeckoSVG ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoSVG > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoSVG ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoSVG ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoSVG ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoBackground { pub gecko : root :: nsStyleBackground , } # [ test ] fn bindgen_test_layout_GeckoBackground ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoBackground > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( GeckoBackground ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoBackground > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoBackground ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoBackground ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoBackground ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] pub struct GeckoPosition { pub gecko : root :: nsStylePosition , } # [ test ] fn bindgen_test_layout_GeckoPosition ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoPosition > ( ) , 440usize , concat ! ( "Size of: " , stringify ! ( GeckoPosition ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoPosition > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoPosition ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoPosition ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] pub struct GeckoTextReset { pub gecko : root :: nsStyleTextReset , } # [ test ] fn bindgen_test_layout_GeckoTextReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoTextReset > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( GeckoTextReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoTextReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoTextReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoTextReset ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoTextReset ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoDisplay { pub gecko : root :: nsStyleDisplay , } # [ test ] fn bindgen_test_layout_GeckoDisplay ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoDisplay > ( ) , 416usize , concat ! ( "Size of: " , stringify ! ( GeckoDisplay ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoDisplay > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoDisplay ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoDisplay ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] pub struct GeckoContent { pub gecko : root :: nsStyleContent , } # [ test ] fn bindgen_test_layout_GeckoContent ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoContent > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( GeckoContent ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoContent > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoContent ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoContent ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoUIReset { pub gecko : root :: nsStyleUIReset , } # [ test ] fn bindgen_test_layout_GeckoUIReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoUIReset > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( GeckoUIReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoUIReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoUIReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoUIReset ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoUIReset ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoTable { pub gecko : root :: nsStyleTable , } # [ test ] fn bindgen_test_layout_GeckoTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoTable > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( GeckoTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoTable > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoTable ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoTable ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoMargin { pub gecko : root :: nsStyleMargin , } # [ test ] fn bindgen_test_layout_GeckoMargin ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoMargin > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( GeckoMargin ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoMargin > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoMargin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoMargin ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoMargin ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoPadding { pub gecko : root :: nsStylePadding , } # [ test ] fn bindgen_test_layout_GeckoPadding ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoPadding > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( GeckoPadding ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoPadding > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoPadding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoPadding ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoPadding ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoBorder { pub gecko : root :: nsStyleBorder , } # [ test ] fn bindgen_test_layout_GeckoBorder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoBorder > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( GeckoBorder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoBorder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoBorder ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoBorder ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoOutline { pub gecko : root :: nsStyleOutline , } # [ test ] fn bindgen_test_layout_GeckoOutline ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoOutline > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( GeckoOutline ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoOutline > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoOutline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoOutline ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoOutline ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoXUL { pub gecko : root :: nsStyleXUL , } # [ test ] fn bindgen_test_layout_GeckoXUL ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoXUL > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( GeckoXUL ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoXUL > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoXUL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoXUL ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoXUL ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoSVGReset { pub gecko : root :: nsStyleSVGReset , } # [ test ] fn bindgen_test_layout_GeckoSVGReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoSVGReset > ( ) , 200usize , concat ! ( "Size of: " , stringify ! ( GeckoSVGReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoSVGReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoSVGReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoSVGReset ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoSVGReset ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoColumn { pub gecko : root :: nsStyleColumn , } # [ test ] fn bindgen_test_layout_GeckoColumn ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoColumn > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( GeckoColumn ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoColumn > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoColumn ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoColumn ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoColumn ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct GeckoEffects { pub gecko : root :: nsStyleEffects , } # [ test ] fn bindgen_test_layout_GeckoEffects ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoEffects > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( GeckoEffects ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoEffects > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( GeckoEffects ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoEffects ) ) . gecko as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoEffects ) , "::" , stringify ! ( gecko ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ServoMediaList { pub _base : root :: mozilla :: dom :: MediaList , pub mRawList : root :: RefPtr < root :: RawServoMediaList > , } # [ test ] fn bindgen_test_layout_ServoMediaList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoMediaList > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ServoMediaList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoMediaList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoMediaList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoMediaList ) ) . mRawList as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ServoMediaList ) , "::" , stringify ! ( mRawList ) ) ) ; } /// A PostTraversalTask is a task to be performed immediately after a Servo @@ -427,10 +424,10 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// The set of style sheets that apply to a document, backed by a Servo /// Stylist. A ServoStyleSet contains ServoStyleSheets. # [ repr ( C ) ] pub struct ServoStyleSet { pub mKind : root :: mozilla :: ServoStyleSet_Kind , pub mPresContext : * mut root :: nsPresContext , pub mLastPresContextUsesXBLStyleSet : * mut :: std :: os :: raw :: c_void , pub mRawSet : root :: mozilla :: UniquePtr < root :: RawServoStyleSet > , pub mSheets : [ u64 ; 9usize ] , pub mAuthorStyleDisabled : bool , pub mStylistState : root :: mozilla :: StylistState , pub mUserFontSetUpdateGeneration : u64 , pub mUserFontCacheUpdateGeneration : u32 , pub mNeedsRestyleAfterEnsureUniqueInner : bool , pub mNonInheritingStyleContexts : [ u64 ; 7usize ] , pub mPostTraversalTasks : root :: nsTArray < root :: mozilla :: PostTraversalTask > , pub mStyleRuleMap : root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > , pub mBindingManager : root :: RefPtr < root :: nsBindingManager > , } pub type ServoStyleSet_SnapshotTable = root :: mozilla :: ServoElementSnapshotTable ; pub const ServoStyleSet_Kind_Master : root :: mozilla :: ServoStyleSet_Kind = 0 ; pub const ServoStyleSet_Kind_ForXBL : root :: mozilla :: ServoStyleSet_Kind = 1 ; pub type ServoStyleSet_Kind = u8 ; extern "C" { - # [ link_name = "\u{1}__ZN7mozilla13ServoStyleSet17sInServoTraversalE" ] + # [ link_name = "\u{1}_ZN7mozilla13ServoStyleSet17sInServoTraversalE" ] pub static mut ServoStyleSet_sInServoTraversal : * mut root :: mozilla :: ServoStyleSet ; } # [ test ] fn bindgen_test_layout_ServoStyleSet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoStyleSet > ( ) , 208usize , concat ! ( "Size of: " , stringify ! ( ServoStyleSet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoStyleSet > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoStyleSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mKind as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mKind ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mPresContext as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mPresContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mLastPresContextUsesXBLStyleSet as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mLastPresContextUsesXBLStyleSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mRawSet as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mRawSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mSheets as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mAuthorStyleDisabled as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mAuthorStyleDisabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mStylistState as * const _ as usize } , 105usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mStylistState ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mUserFontSetUpdateGeneration as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mUserFontSetUpdateGeneration ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mUserFontCacheUpdateGeneration as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mUserFontCacheUpdateGeneration ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mNeedsRestyleAfterEnsureUniqueInner as * const _ as usize } , 124usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mNeedsRestyleAfterEnsureUniqueInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mNonInheritingStyleContexts as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mNonInheritingStyleContexts ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mPostTraversalTasks as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mPostTraversalTasks ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mStyleRuleMap as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mStyleRuleMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleSet ) ) . mBindingManager as * const _ as usize } , 200usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleSet ) , "::" , stringify ! ( mBindingManager ) ) ) ; } # [ repr ( C ) ] pub struct ServoStyleContext { pub _base : root :: nsStyleContext , pub mPresContext : * mut root :: nsPresContext , pub mSource : root :: ServoComputedData , pub mNextInheritingAnonBoxStyle : root :: RefPtr < root :: mozilla :: ServoStyleContext > , pub mNextLazyPseudoStyle : root :: RefPtr < root :: mozilla :: ServoStyleContext > , } # [ test ] fn bindgen_test_layout_ServoStyleContext ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoStyleContext > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( ServoStyleContext ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoStyleContext > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoStyleContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleContext ) ) . mPresContext as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleContext ) , "::" , stringify ! ( mPresContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleContext ) ) . mSource as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleContext ) , "::" , stringify ! ( mSource ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleContext ) ) . mNextInheritingAnonBoxStyle as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleContext ) , "::" , stringify ! ( mNextInheritingAnonBoxStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoStyleContext ) ) . mNextLazyPseudoStyle as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( ServoStyleContext ) , "::" , stringify ! ( mNextLazyPseudoStyle ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct CSSFontFaceDescriptors { pub mFamily : root :: nsCSSValue , pub mStyle : root :: nsCSSValue , pub mWeight : root :: nsCSSValue , pub mStretch : root :: nsCSSValue , pub mSrc : root :: nsCSSValue , pub mUnicodeRange : root :: nsCSSValue , pub mFontFeatureSettings : root :: nsCSSValue , pub mFontLanguageOverride : root :: nsCSSValue , pub mDisplay : root :: nsCSSValue , } extern "C" { - # [ link_name = "\u{1}__ZN7mozilla22CSSFontFaceDescriptors6FieldsE" ] + # [ link_name = "\u{1}_ZN7mozilla22CSSFontFaceDescriptors6FieldsE" ] pub static mut CSSFontFaceDescriptors_Fields : [ * const root :: nsCSSValue ; 0usize ] ; } # [ test ] fn bindgen_test_layout_CSSFontFaceDescriptors ( ) { assert_eq ! ( :: std :: mem :: size_of :: < CSSFontFaceDescriptors > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( CSSFontFaceDescriptors ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < CSSFontFaceDescriptors > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( CSSFontFaceDescriptors ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mFamily as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mFamily ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mStyle as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mWeight as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mWeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mStretch as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mStretch ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mSrc as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mSrc ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mUnicodeRange as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mUnicodeRange ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mFontFeatureSettings as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mFontFeatureSettings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mFontLanguageOverride as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mFontLanguageOverride ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const CSSFontFaceDescriptors ) ) . mDisplay as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( CSSFontFaceDescriptors ) , "::" , stringify ! ( mDisplay ) ) ) ; } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct InfallibleAllocPolicy { pub _address : u8 , } # [ test ] fn bindgen_test_layout_InfallibleAllocPolicy ( ) { assert_eq ! ( :: std :: mem :: size_of :: < InfallibleAllocPolicy > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( InfallibleAllocPolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < InfallibleAllocPolicy > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( InfallibleAllocPolicy ) ) ) ; } impl Clone for InfallibleAllocPolicy { fn clone ( & self ) -> Self { * self } } /// MozRefCountType is Mozilla's reference count type. @@ -618,7 +615,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// @param DataType the simple datatype being wrapped /// @see nsInterfaceHashtable, nsClassHashtable # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsDataHashtable { pub _address : u8 , } pub type nsDataHashtable_BaseClass = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTArrayHeader { pub mLength : u32 , pub _bitfield_1 : u32 , } extern "C" { - # [ link_name = "\u{1}__ZN14nsTArrayHeader9sEmptyHdrE" ] + # [ link_name = "\u{1}_ZN14nsTArrayHeader9sEmptyHdrE" ] pub static mut nsTArrayHeader_sEmptyHdr : root :: nsTArrayHeader ; } # [ test ] fn bindgen_test_layout_nsTArrayHeader ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTArrayHeader > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsTArrayHeader ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTArrayHeader > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTArrayHeader ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTArrayHeader ) ) . mLength as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTArrayHeader ) , "::" , stringify ! ( mLength ) ) ) ; } impl Clone for nsTArrayHeader { fn clone ( & self ) -> Self { * self } } impl nsTArrayHeader { # [ inline ] pub fn mCapacity ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x7fffffff as u32 ; 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 = 0x7fffffff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn mIsAutoArray ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x80000000 as u32 ; 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 = 0x80000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 31usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mCapacity : u32 , mIsAutoArray : u32 ) -> u32 { ( ( 0 | ( ( mCapacity as u32 as u32 ) << 0usize ) & ( 0x7fffffff as u32 ) ) | ( ( mIsAutoArray as u32 as u32 ) << 31usize ) & ( 0x80000000 as u32 ) ) } } pub type AutoTArray_self_type = u8 ; pub type AutoTArray_base_type < E > = root :: nsTArray < E > ; pub type AutoTArray_Header < E > = root :: AutoTArray_base_type < E > ; pub type AutoTArray_elem_type < E > = root :: AutoTArray_base_type < E > ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AutoTArray__bindgen_ty_1 { pub mAutoBuf : root :: __BindgenUnionField < * mut :: std :: os :: raw :: c_char > , pub mAlign : root :: __BindgenUnionField < u8 > , pub bindgen_union_field : u64 , } pub type nscoord = i32 ; pub type nscolor = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct gfxFontFeature { pub mTag : u32 , pub mValue : u32 , } # [ test ] fn bindgen_test_layout_gfxFontFeature ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeature > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeature ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeature > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeature ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeature ) ) . mTag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeature ) , "::" , stringify ! ( mTag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeature ) ) . mValue as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeature ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for gfxFontFeature { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct gfxAlternateValue { pub alternate : u32 , pub value : ::nsstring::nsStringRepr , } # [ test ] fn bindgen_test_layout_gfxAlternateValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxAlternateValue > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( gfxAlternateValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxAlternateValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxAlternateValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxAlternateValue ) ) . alternate as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxAlternateValue ) , "::" , stringify ! ( alternate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxAlternateValue ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( gfxAlternateValue ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct gfxFontFeatureValueSet { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mFontFeatureValues : [ u64 ; 4usize ] , } pub type gfxFontFeatureValueSet_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ repr ( C ) ] pub struct gfxFontFeatureValueSet_ValueList { pub name : ::nsstring::nsStringRepr , pub featureSelectors : root :: nsTArray < u32 > , } # [ test ] fn bindgen_test_layout_gfxFontFeatureValueSet_ValueList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeatureValueSet_ValueList > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeatureValueSet_ValueList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeatureValueSet_ValueList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeatureValueSet_ValueList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_ValueList ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_ValueList ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_ValueList ) ) . featureSelectors as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_ValueList ) , "::" , stringify ! ( featureSelectors ) ) ) ; } # [ repr ( C ) ] pub struct gfxFontFeatureValueSet_FeatureValues { pub alternate : u32 , pub valuelist : root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > , } # [ test ] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValues ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeatureValueSet_FeatureValues > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeatureValueSet_FeatureValues ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeatureValueSet_FeatureValues > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeatureValueSet_FeatureValues ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValues ) ) . alternate as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValues ) , "::" , stringify ! ( alternate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValues ) ) . valuelist as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValues ) , "::" , stringify ! ( valuelist ) ) ) ; } # [ repr ( C ) ] pub struct gfxFontFeatureValueSet_FeatureValueHashKey { pub mFamily : ::nsstring::nsStringRepr , pub mPropVal : u32 , pub mName : ::nsstring::nsStringRepr , } # [ test ] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashKey ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeatureValueSet_FeatureValueHashKey > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashKey ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeatureValueSet_FeatureValueHashKey > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) ) . mFamily as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , stringify ! ( mFamily ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) ) . mPropVal as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , stringify ! ( mPropVal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) ) . mName as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , stringify ! ( mName ) ) ) ; } # [ repr ( C ) ] pub struct gfxFontFeatureValueSet_FeatureValueHashEntry { pub _base : root :: PLDHashEntryHdr , pub mKey : root :: gfxFontFeatureValueSet_FeatureValueHashKey , pub mValues : root :: nsTArray < u32 > , } pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyType = * const root :: gfxFontFeatureValueSet_FeatureValueHashKey ; pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyTypePointer = * const root :: gfxFontFeatureValueSet_FeatureValueHashKey ; pub const gfxFontFeatureValueSet_FeatureValueHashEntry_ALLOW_MEMMOVE : root :: gfxFontFeatureValueSet_FeatureValueHashEntry__bindgen_ty_1 = 1 ; pub type gfxFontFeatureValueSet_FeatureValueHashEntry__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashEntry ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeatureValueSet_FeatureValueHashEntry > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashEntry ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeatureValueSet_FeatureValueHashEntry > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashEntry ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValueHashEntry ) ) . mKey as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashEntry ) , "::" , stringify ! ( mKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet_FeatureValueHashEntry ) ) . mValues as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet_FeatureValueHashEntry ) , "::" , stringify ! ( mValues ) ) ) ; } # [ test ] fn bindgen_test_layout_gfxFontFeatureValueSet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < gfxFontFeatureValueSet > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( gfxFontFeatureValueSet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < gfxFontFeatureValueSet > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( gfxFontFeatureValueSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const gfxFontFeatureValueSet ) ) . mFontFeatureValues as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( gfxFontFeatureValueSet ) , "::" , stringify ! ( mFontFeatureValues ) ) ) ; } pub type gfxFontVariation = root :: mozilla :: gfx :: FontVariation ; pub const kGenericFont_NONE : u8 = 0 ; pub const kGenericFont_moz_variable : u8 = 0 ; pub const kGenericFont_moz_fixed : u8 = 1 ; pub const kGenericFont_serif : u8 = 2 ; pub const kGenericFont_sans_serif : u8 = 4 ; pub const kGenericFont_monospace : u8 = 8 ; pub const kGenericFont_cursive : u8 = 16 ; pub const kGenericFont_fantasy : u8 = 32 ; # [ repr ( C ) ] pub struct nsFont { pub fontlist : root :: mozilla :: FontFamilyList , pub style : u8 , pub systemFont : bool , pub variantCaps : u8 , pub variantNumeric : u8 , pub variantPosition : u8 , pub variantWidth : u8 , pub variantLigatures : u16 , pub variantEastAsian : u16 , pub variantAlternates : u16 , pub smoothing : u8 , pub fontSmoothingBackgroundColor : root :: nscolor , pub weight : u16 , pub stretch : i16 , pub kerning : u8 , pub synthesis : u8 , pub size : root :: nscoord , pub sizeAdjust : f32 , pub alternateValues : root :: nsTArray < root :: gfxAlternateValue > , pub featureValueLookup : root :: RefPtr < root :: gfxFontFeatureValueSet > , pub fontFeatureSettings : root :: nsTArray < root :: gfxFontFeature > , pub fontVariationSettings : root :: nsTArray < root :: gfxFontVariation > , pub languageOverride : u32 , } pub const nsFont_MaxDifference_eNone : root :: nsFont_MaxDifference = 0 ; pub const nsFont_MaxDifference_eVisual : root :: nsFont_MaxDifference = 1 ; pub const nsFont_MaxDifference_eLayoutAffecting : root :: nsFont_MaxDifference = 2 ; pub type nsFont_MaxDifference = u8 ; # [ test ] fn bindgen_test_layout_nsFont ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsFont > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( nsFont ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsFont > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsFont ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . fontlist as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( fontlist ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . style as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( style ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . systemFont as * const _ as usize } , 17usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( systemFont ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantCaps as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantCaps ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantNumeric as * const _ as usize } , 19usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantNumeric ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantPosition as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantWidth as * const _ as usize } , 21usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantLigatures as * const _ as usize } , 22usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantLigatures ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantEastAsian as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantEastAsian ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . variantAlternates as * const _ as usize } , 26usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( variantAlternates ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . smoothing as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( smoothing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . fontSmoothingBackgroundColor as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( fontSmoothingBackgroundColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . weight as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( weight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . stretch as * const _ as usize } , 38usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( stretch ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . kerning as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( kerning ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . synthesis as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( synthesis ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . size as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . sizeAdjust as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( sizeAdjust ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . alternateValues as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( alternateValues ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . featureValueLookup as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( featureValueLookup ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . fontFeatureSettings as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( fontFeatureSettings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . fontVariationSettings as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( fontVariationSettings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFont ) ) . languageOverride as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsFont ) , "::" , stringify ! ( languageOverride ) ) ) ; } /// An array of objects, similar to AutoTArray but which is memmovable. It @@ -681,7 +678,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// When this header is in use, it enables reference counting, and capacity /// tracking. NOTE: A string buffer can be modified only if its reference /// count is 1. - # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStringBuffer { pub mRefCount : u32 , pub mStorageSize : u32 , pub mCanary : u32 , } # [ test ] fn bindgen_test_layout_nsStringBuffer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStringBuffer > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( nsStringBuffer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStringBuffer > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStringBuffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mRefCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mRefCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mStorageSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mStorageSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mCanary as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mCanary ) ) ) ; } impl Clone for nsStringBuffer { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAtom { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub _bitfield_1 : u32 , pub mHash : u32 , pub mString : * mut u16 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsAtom_AtomKind { DynamicAtom = 0 , StaticAtom = 1 , HTML5Atom = 2 , } pub type nsAtom_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsAtom ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAtom > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsAtom ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAtom > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAtom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mHash as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mString as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mString ) ) ) ; } impl nsAtom { # [ inline ] pub fn mLength ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3fffffff as u32 ; 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 = 0x3fffffff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn mKind ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mKind ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mLength : u32 , mKind : u32 ) -> u32 { ( ( 0 | ( ( mLength as u32 as u32 ) << 0usize ) & ( 0x3fffffff as u32 ) ) | ( ( mKind as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStaticAtom { pub _base : root :: nsAtom , } # [ test ] fn bindgen_test_layout_nsStaticAtom ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStaticAtom > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStaticAtom ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStaticAtom > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStaticAtom ) ) ) ; } pub type nsLoadFlags = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIRequest { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIRequest_COMTypeInfo { pub _address : u8 , } pub const nsIRequest_LOAD_REQUESTMASK : root :: nsIRequest__bindgen_ty_1 = 65535 ; pub const nsIRequest_LOAD_NORMAL : root :: nsIRequest__bindgen_ty_1 = 0 ; pub const nsIRequest_LOAD_BACKGROUND : root :: nsIRequest__bindgen_ty_1 = 1 ; pub const nsIRequest_LOAD_HTML_OBJECT_DATA : root :: nsIRequest__bindgen_ty_1 = 2 ; pub const nsIRequest_LOAD_DOCUMENT_NEEDS_COOKIE : root :: nsIRequest__bindgen_ty_1 = 4 ; pub const nsIRequest_INHIBIT_CACHING : root :: nsIRequest__bindgen_ty_1 = 128 ; pub const nsIRequest_INHIBIT_PERSISTENT_CACHING : root :: nsIRequest__bindgen_ty_1 = 256 ; pub const nsIRequest_LOAD_BYPASS_CACHE : root :: nsIRequest__bindgen_ty_1 = 512 ; pub const nsIRequest_LOAD_FROM_CACHE : root :: nsIRequest__bindgen_ty_1 = 1024 ; pub const nsIRequest_VALIDATE_ALWAYS : root :: nsIRequest__bindgen_ty_1 = 2048 ; pub const nsIRequest_VALIDATE_NEVER : root :: nsIRequest__bindgen_ty_1 = 4096 ; pub const nsIRequest_VALIDATE_ONCE_PER_SESSION : root :: nsIRequest__bindgen_ty_1 = 8192 ; pub const nsIRequest_LOAD_ANONYMOUS : root :: nsIRequest__bindgen_ty_1 = 16384 ; pub const nsIRequest_LOAD_FRESH_CONNECTION : root :: nsIRequest__bindgen_ty_1 = 32768 ; pub type nsIRequest__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsIRequest ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIRequest > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIRequest ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIRequest > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIRequest ) ) ) ; } impl Clone for nsIRequest { fn clone ( & self ) -> Self { * self } } + # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStringBuffer { pub mRefCount : u32 , pub mStorageSize : u32 , pub mCanary : u32 , } # [ test ] fn bindgen_test_layout_nsStringBuffer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStringBuffer > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( nsStringBuffer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStringBuffer > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStringBuffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mRefCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mRefCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mStorageSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mStorageSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStringBuffer ) ) . mCanary as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mCanary ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAtom { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub _bitfield_1 : u32 , pub mHash : u32 , pub mString : * mut u16 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsAtom_AtomKind { DynamicAtom = 0 , StaticAtom = 1 , HTML5Atom = 2 , } pub type nsAtom_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsAtom ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAtom > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsAtom ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAtom > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAtom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mHash as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAtom ) ) . mString as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsAtom ) , "::" , stringify ! ( mString ) ) ) ; } impl nsAtom { # [ inline ] pub fn mLength ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3fffffff as u32 ; 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 = 0x3fffffff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn mKind ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mKind ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mLength : u32 , mKind : u32 ) -> u32 { ( ( 0 | ( ( mLength as u32 as u32 ) << 0usize ) & ( 0x3fffffff as u32 ) ) | ( ( mKind as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStaticAtom { pub _base : root :: nsAtom , } # [ test ] fn bindgen_test_layout_nsStaticAtom ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStaticAtom > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStaticAtom ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStaticAtom > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStaticAtom ) ) ) ; } pub type nsLoadFlags = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIRequest { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIRequest_COMTypeInfo { pub _address : u8 , } pub const nsIRequest_LOAD_REQUESTMASK : root :: nsIRequest__bindgen_ty_1 = 65535 ; pub const nsIRequest_LOAD_NORMAL : root :: nsIRequest__bindgen_ty_1 = 0 ; pub const nsIRequest_LOAD_BACKGROUND : root :: nsIRequest__bindgen_ty_1 = 1 ; pub const nsIRequest_LOAD_HTML_OBJECT_DATA : root :: nsIRequest__bindgen_ty_1 = 2 ; pub const nsIRequest_LOAD_DOCUMENT_NEEDS_COOKIE : root :: nsIRequest__bindgen_ty_1 = 4 ; pub const nsIRequest_INHIBIT_CACHING : root :: nsIRequest__bindgen_ty_1 = 128 ; pub const nsIRequest_INHIBIT_PERSISTENT_CACHING : root :: nsIRequest__bindgen_ty_1 = 256 ; pub const nsIRequest_LOAD_BYPASS_CACHE : root :: nsIRequest__bindgen_ty_1 = 512 ; pub const nsIRequest_LOAD_FROM_CACHE : root :: nsIRequest__bindgen_ty_1 = 1024 ; pub const nsIRequest_VALIDATE_ALWAYS : root :: nsIRequest__bindgen_ty_1 = 2048 ; pub const nsIRequest_VALIDATE_NEVER : root :: nsIRequest__bindgen_ty_1 = 4096 ; pub const nsIRequest_VALIDATE_ONCE_PER_SESSION : root :: nsIRequest__bindgen_ty_1 = 8192 ; pub const nsIRequest_LOAD_ANONYMOUS : root :: nsIRequest__bindgen_ty_1 = 16384 ; pub const nsIRequest_LOAD_FRESH_CONNECTION : root :: nsIRequest__bindgen_ty_1 = 32768 ; pub type nsIRequest__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsIRequest ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIRequest > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIRequest ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIRequest > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIRequest ) ) ) ; } impl Clone for nsIRequest { fn clone ( & self ) -> Self { * self } } /// Base class that implements parts shared by JSErrorReport and /// JSErrorNotes::Note. # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct JSErrorBase { pub message_ : root :: JS :: ConstUTF8CharsZ , pub filename : * const :: std :: os :: raw :: c_char , pub lineno : :: std :: os :: raw :: c_uint , pub column : :: std :: os :: raw :: c_uint , pub errorNumber : :: std :: os :: raw :: c_uint , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 3usize ] , } # [ test ] fn bindgen_test_layout_JSErrorBase ( ) { assert_eq ! ( :: std :: mem :: size_of :: < JSErrorBase > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( JSErrorBase ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < JSErrorBase > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( JSErrorBase ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const JSErrorBase ) ) . message_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( JSErrorBase ) , "::" , stringify ! ( message_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const JSErrorBase ) ) . filename as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( JSErrorBase ) , "::" , stringify ! ( filename ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const JSErrorBase ) ) . lineno as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( JSErrorBase ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const JSErrorBase ) ) . column as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( JSErrorBase ) , "::" , stringify ! ( column ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const JSErrorBase ) ) . errorNumber as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( JSErrorBase ) , "::" , stringify ! ( errorNumber ) ) ) ; } impl JSErrorBase { # [ inline ] pub fn ownsMessage_ ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; 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 = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( ownsMessage_ : bool ) -> u8 { ( 0 | ( ( ownsMessage_ as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) } } @@ -725,9 +722,9 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// have to include some JS headers that don't play nicely with the rest of the /// codebase. Include nsWrapperCacheInlines.h if you need to call those methods. # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsWrapperCache { pub vtable_ : * const nsWrapperCache__bindgen_vtable , pub mWrapper : * mut root :: JSObject , pub mFlags : root :: nsWrapperCache_FlagsType , pub mBoolFlags : u32 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsWrapperCache_COMTypeInfo { pub _address : u8 , } pub type nsWrapperCache_FlagsType = u32 ; pub const nsWrapperCache_WRAPPER_BIT_PRESERVED : root :: nsWrapperCache__bindgen_ty_1 = 1 ; pub type nsWrapperCache__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; pub const nsWrapperCache_WRAPPER_IS_NOT_DOM_BINDING : root :: nsWrapperCache__bindgen_ty_2 = 2 ; pub type nsWrapperCache__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const nsWrapperCache_kWrapperFlagsMask : root :: nsWrapperCache__bindgen_ty_3 = 3 ; pub type nsWrapperCache__bindgen_ty_3 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsWrapperCache ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsWrapperCache > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsWrapperCache ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsWrapperCache > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsWrapperCache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsWrapperCache ) ) . mWrapper as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsWrapperCache ) , "::" , stringify ! ( mWrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsWrapperCache ) ) . mFlags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsWrapperCache ) , "::" , stringify ! ( mFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsWrapperCache ) ) . mBoolFlags as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsWrapperCache ) , "::" , stringify ! ( mBoolFlags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ProfilerBacktrace { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ProfilerMarkerPayload { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ProfilerBacktraceDestructor { pub _address : u8 , } # [ test ] fn bindgen_test_layout_ProfilerBacktraceDestructor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ProfilerBacktraceDestructor > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( ProfilerBacktraceDestructor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ProfilerBacktraceDestructor > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( ProfilerBacktraceDestructor ) ) ) ; } impl Clone for ProfilerBacktraceDestructor { fn clone ( & self ) -> Self { * self } } pub type UniqueProfilerBacktrace = root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ; pub type gfxSize = [ u64 ; 2usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMNode { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMNode_COMTypeInfo { pub _address : u8 , } pub const nsIDOMNode_ELEMENT_NODE : root :: nsIDOMNode__bindgen_ty_1 = 1 ; pub const nsIDOMNode_ATTRIBUTE_NODE : root :: nsIDOMNode__bindgen_ty_1 = 2 ; pub const nsIDOMNode_TEXT_NODE : root :: nsIDOMNode__bindgen_ty_1 = 3 ; pub const nsIDOMNode_CDATA_SECTION_NODE : root :: nsIDOMNode__bindgen_ty_1 = 4 ; pub const nsIDOMNode_ENTITY_REFERENCE_NODE : root :: nsIDOMNode__bindgen_ty_1 = 5 ; pub const nsIDOMNode_ENTITY_NODE : root :: nsIDOMNode__bindgen_ty_1 = 6 ; pub const nsIDOMNode_PROCESSING_INSTRUCTION_NODE : root :: nsIDOMNode__bindgen_ty_1 = 7 ; pub const nsIDOMNode_COMMENT_NODE : root :: nsIDOMNode__bindgen_ty_1 = 8 ; pub const nsIDOMNode_DOCUMENT_NODE : root :: nsIDOMNode__bindgen_ty_1 = 9 ; pub const nsIDOMNode_DOCUMENT_TYPE_NODE : root :: nsIDOMNode__bindgen_ty_1 = 10 ; pub const nsIDOMNode_DOCUMENT_FRAGMENT_NODE : root :: nsIDOMNode__bindgen_ty_1 = 11 ; pub const nsIDOMNode_NOTATION_NODE : root :: nsIDOMNode__bindgen_ty_1 = 12 ; pub type nsIDOMNode__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; pub const nsIDOMNode_DOCUMENT_POSITION_DISCONNECTED : root :: nsIDOMNode__bindgen_ty_2 = 1 ; pub const nsIDOMNode_DOCUMENT_POSITION_PRECEDING : root :: nsIDOMNode__bindgen_ty_2 = 2 ; pub const nsIDOMNode_DOCUMENT_POSITION_FOLLOWING : root :: nsIDOMNode__bindgen_ty_2 = 4 ; pub const nsIDOMNode_DOCUMENT_POSITION_CONTAINS : root :: nsIDOMNode__bindgen_ty_2 = 8 ; pub const nsIDOMNode_DOCUMENT_POSITION_CONTAINED_BY : root :: nsIDOMNode__bindgen_ty_2 = 16 ; pub const nsIDOMNode_DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC : root :: nsIDOMNode__bindgen_ty_2 = 32 ; pub type nsIDOMNode__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsIDOMNode ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMNode > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMNode ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMNode > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMNode ) ) ) ; } impl Clone for nsIDOMNode { fn clone ( & self ) -> Self { * self } } pub const kNameSpaceID_None : i32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIVariant { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIVariant_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIVariant ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIVariant > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIVariant ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIVariant > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIVariant ) ) ) ; } impl Clone for nsIVariant { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct nsNodeInfoManager { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mNodeInfoHash : * mut root :: PLHashTable , pub mDocument : * mut root :: nsIDocument , pub mNonDocumentNodeInfos : u32 , pub mPrincipal : root :: nsCOMPtr , pub mDefaultPrincipal : root :: nsCOMPtr , pub mTextNodeInfo : * mut root :: mozilla :: dom :: NodeInfo , pub mCommentNodeInfo : * mut root :: mozilla :: dom :: NodeInfo , pub mDocumentNodeInfo : * mut root :: mozilla :: dom :: NodeInfo , pub mBindingManager : root :: RefPtr < root :: nsBindingManager > , pub mRecentlyUsedNodeInfos : [ * mut root :: mozilla :: dom :: NodeInfo ; 31usize ] , pub mSVGEnabled : root :: nsNodeInfoManager_Tri , pub mMathMLEnabled : root :: nsNodeInfoManager_Tri , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsNodeInfoManager_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_nsNodeInfoManager_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsNodeInfoManager_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsNodeInfoManager_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsNodeInfoManager_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsNodeInfoManager_cycleCollection ) ) ) ; } impl Clone for nsNodeInfoManager_cycleCollection { fn clone ( & self ) -> Self { * self } } pub type nsNodeInfoManager_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; pub const nsNodeInfoManager_Tri_eTriUnset : root :: nsNodeInfoManager_Tri = 0 ; pub const nsNodeInfoManager_Tri_eTriFalse : root :: nsNodeInfoManager_Tri = 1 ; pub const nsNodeInfoManager_Tri_eTriTrue : root :: nsNodeInfoManager_Tri = 2 ; pub type nsNodeInfoManager_Tri = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}__ZN17nsNodeInfoManager21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN17nsNodeInfoManager21_cycleCollectorGlobalE" ] pub static mut nsNodeInfoManager__cycleCollectorGlobal : root :: nsNodeInfoManager_cycleCollection ; -} # [ test ] fn bindgen_test_layout_nsNodeInfoManager ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsNodeInfoManager > ( ) , 336usize , concat ! ( "Size of: " , stringify ! ( nsNodeInfoManager ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsNodeInfoManager > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsNodeInfoManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mNodeInfoHash as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mNodeInfoHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDocument as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mNonDocumentNodeInfos as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mNonDocumentNodeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mPrincipal as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDefaultPrincipal as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDefaultPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mTextNodeInfo as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mTextNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mCommentNodeInfo as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mCommentNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDocumentNodeInfo as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDocumentNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mBindingManager as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mBindingManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mRecentlyUsedNodeInfos as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mRecentlyUsedNodeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mSVGEnabled as * const _ as usize } , 328usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mSVGEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mMathMLEnabled as * const _ as usize } , 332usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mMathMLEnabled ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsPropertyTable { pub mPropertyList : * mut root :: nsPropertyTable_PropertyList , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsPropertyTable_PropertyList { _unused : [ u8 ; 0 ] } # [ test ] fn bindgen_test_layout_nsPropertyTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPropertyTable > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsPropertyTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPropertyTable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPropertyTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPropertyTable ) ) . mPropertyList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsPropertyTable ) , "::" , stringify ! ( mPropertyList ) ) ) ; } pub type nsTObserverArray_base_index_type = usize ; pub type nsTObserverArray_base_size_type = usize ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTObserverArray_base_Iterator_base { pub mPosition : root :: nsTObserverArray_base_index_type , pub mNext : * mut root :: nsTObserverArray_base_Iterator_base , } # [ test ] fn bindgen_test_layout_nsTObserverArray_base_Iterator_base ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTObserverArray_base_Iterator_base > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTObserverArray_base_Iterator_base ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTObserverArray_base_Iterator_base > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsTObserverArray_base_Iterator_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTObserverArray_base_Iterator_base ) ) . mPosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTObserverArray_base_Iterator_base ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTObserverArray_base_Iterator_base ) ) . mNext as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsTObserverArray_base_Iterator_base ) , "::" , stringify ! ( mNext ) ) ) ; } impl Clone for nsTObserverArray_base_Iterator_base { fn clone ( & self ) -> Self { * self } } pub type nsAutoTObserverArray_elem_type < T > = T ; pub type nsAutoTObserverArray_array_type < T > = root :: nsTArray < T > ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_Iterator { pub _base : root :: nsTObserverArray_base_Iterator_base , pub mArray : * mut root :: nsAutoTObserverArray_Iterator_array_type , } pub type nsAutoTObserverArray_Iterator_array_type = u8 ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_ForwardIterator { pub _base : root :: nsAutoTObserverArray_Iterator , } pub type nsAutoTObserverArray_ForwardIterator_array_type = u8 ; pub type nsAutoTObserverArray_ForwardIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_EndLimitedIterator { pub _base : root :: nsAutoTObserverArray_ForwardIterator , pub mEnd : root :: nsAutoTObserverArray_ForwardIterator , } pub type nsAutoTObserverArray_EndLimitedIterator_array_type = u8 ; pub type nsAutoTObserverArray_EndLimitedIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_BackwardIterator { pub _base : root :: nsAutoTObserverArray_Iterator , } pub type nsAutoTObserverArray_BackwardIterator_array_type = u8 ; pub type nsAutoTObserverArray_BackwardIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsTObserverArray { pub _address : u8 , } pub type nsTObserverArray_base_type = u8 ; pub type nsTObserverArray_size_type = root :: nsTObserverArray_base_size_type ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMEventTarget { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMEventTarget_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMEventTarget ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMEventTarget > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMEventTarget ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMEventTarget > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMEventTarget ) ) ) ; } impl Clone for nsIDOMEventTarget { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsAttrChildContentList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsCSSSelectorList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsRange { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct RawServoSelectorList { _unused : [ u8 ; 0 ] } pub const NODE_HAS_LISTENERMANAGER : root :: _bindgen_ty_18 = 4 ; pub const NODE_HAS_PROPERTIES : root :: _bindgen_ty_18 = 8 ; pub const NODE_IS_ANONYMOUS_ROOT : root :: _bindgen_ty_18 = 16 ; pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE : root :: _bindgen_ty_18 = 32 ; pub const NODE_IS_NATIVE_ANONYMOUS_ROOT : root :: _bindgen_ty_18 = 64 ; pub const NODE_FORCE_XBL_BINDINGS : root :: _bindgen_ty_18 = 128 ; pub const NODE_MAY_BE_IN_BINDING_MNGR : root :: _bindgen_ty_18 = 256 ; pub const NODE_IS_EDITABLE : root :: _bindgen_ty_18 = 512 ; pub const NODE_IS_NATIVE_ANONYMOUS : root :: _bindgen_ty_18 = 1024 ; pub const NODE_IS_IN_SHADOW_TREE : root :: _bindgen_ty_18 = 2048 ; pub const NODE_HAS_EMPTY_SELECTOR : root :: _bindgen_ty_18 = 4096 ; pub const NODE_HAS_SLOW_SELECTOR : root :: _bindgen_ty_18 = 8192 ; pub const NODE_HAS_EDGE_CHILD_SELECTOR : root :: _bindgen_ty_18 = 16384 ; pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS : root :: _bindgen_ty_18 = 32768 ; pub const NODE_ALL_SELECTOR_FLAGS : root :: _bindgen_ty_18 = 61440 ; pub const NODE_NEEDS_FRAME : root :: _bindgen_ty_18 = 65536 ; pub const NODE_DESCENDANTS_NEED_FRAMES : root :: _bindgen_ty_18 = 131072 ; pub const NODE_HAS_ACCESSKEY : root :: _bindgen_ty_18 = 262144 ; pub const NODE_HAS_DIRECTION_RTL : root :: _bindgen_ty_18 = 524288 ; pub const NODE_HAS_DIRECTION_LTR : root :: _bindgen_ty_18 = 1048576 ; pub const NODE_ALL_DIRECTION_FLAGS : root :: _bindgen_ty_18 = 1572864 ; pub const NODE_CHROME_ONLY_ACCESS : root :: _bindgen_ty_18 = 2097152 ; pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS : root :: _bindgen_ty_18 = 4194304 ; pub const NODE_TYPE_SPECIFIC_BITS_OFFSET : root :: _bindgen_ty_18 = 21 ; pub type _bindgen_ty_18 = :: std :: os :: raw :: c_uint ; +} # [ test ] fn bindgen_test_layout_nsNodeInfoManager ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsNodeInfoManager > ( ) , 336usize , concat ! ( "Size of: " , stringify ! ( nsNodeInfoManager ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsNodeInfoManager > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsNodeInfoManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mNodeInfoHash as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mNodeInfoHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDocument as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mNonDocumentNodeInfos as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mNonDocumentNodeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mPrincipal as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDefaultPrincipal as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDefaultPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mTextNodeInfo as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mTextNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mCommentNodeInfo as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mCommentNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mDocumentNodeInfo as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mDocumentNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mBindingManager as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mBindingManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mRecentlyUsedNodeInfos as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mRecentlyUsedNodeInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mSVGEnabled as * const _ as usize } , 328usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mSVGEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNodeInfoManager ) ) . mMathMLEnabled as * const _ as usize } , 332usize , concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mMathMLEnabled ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsPropertyTable { pub mPropertyList : * mut root :: nsPropertyTable_PropertyList , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsPropertyTable_PropertyList { _unused : [ u8 ; 0 ] } # [ test ] fn bindgen_test_layout_nsPropertyTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPropertyTable > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsPropertyTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPropertyTable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPropertyTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPropertyTable ) ) . mPropertyList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsPropertyTable ) , "::" , stringify ! ( mPropertyList ) ) ) ; } pub type nsTObserverArray_base_index_type = usize ; pub type nsTObserverArray_base_size_type = usize ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTObserverArray_base_Iterator_base { pub mPosition : root :: nsTObserverArray_base_index_type , pub mNext : * mut root :: nsTObserverArray_base_Iterator_base , } # [ test ] fn bindgen_test_layout_nsTObserverArray_base_Iterator_base ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTObserverArray_base_Iterator_base > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTObserverArray_base_Iterator_base ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTObserverArray_base_Iterator_base > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsTObserverArray_base_Iterator_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTObserverArray_base_Iterator_base ) ) . mPosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTObserverArray_base_Iterator_base ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTObserverArray_base_Iterator_base ) ) . mNext as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsTObserverArray_base_Iterator_base ) , "::" , stringify ! ( mNext ) ) ) ; } impl Clone for nsTObserverArray_base_Iterator_base { fn clone ( & self ) -> Self { * self } } pub type nsAutoTObserverArray_elem_type < T > = T ; pub type nsAutoTObserverArray_array_type < T > = root :: nsTArray < T > ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_Iterator { pub _base : root :: nsTObserverArray_base_Iterator_base , pub mArray : * mut root :: nsAutoTObserverArray_Iterator_array_type , } pub type nsAutoTObserverArray_Iterator_array_type = u8 ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_ForwardIterator { pub _base : root :: nsAutoTObserverArray_Iterator , } pub type nsAutoTObserverArray_ForwardIterator_array_type = u8 ; pub type nsAutoTObserverArray_ForwardIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_EndLimitedIterator { pub _base : root :: nsAutoTObserverArray_ForwardIterator , pub mEnd : root :: nsAutoTObserverArray_ForwardIterator , } pub type nsAutoTObserverArray_EndLimitedIterator_array_type = u8 ; pub type nsAutoTObserverArray_EndLimitedIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAutoTObserverArray_BackwardIterator { pub _base : root :: nsAutoTObserverArray_Iterator , } pub type nsAutoTObserverArray_BackwardIterator_array_type = u8 ; pub type nsAutoTObserverArray_BackwardIterator_base_type = root :: nsAutoTObserverArray_Iterator ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsTObserverArray { pub _address : u8 , } pub type nsTObserverArray_base_type = u8 ; pub type nsTObserverArray_size_type = root :: nsTObserverArray_base_size_type ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMEventTarget { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMEventTarget_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMEventTarget ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMEventTarget > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMEventTarget ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMEventTarget > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMEventTarget ) ) ) ; } impl Clone for nsIDOMEventTarget { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsAttrChildContentList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsCSSSelectorList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsRange { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct RawServoSelectorList { _unused : [ u8 ; 0 ] } pub const NODE_HAS_LISTENERMANAGER : root :: _bindgen_ty_72 = 4 ; pub const NODE_HAS_PROPERTIES : root :: _bindgen_ty_72 = 8 ; pub const NODE_IS_ANONYMOUS_ROOT : root :: _bindgen_ty_72 = 16 ; pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE : root :: _bindgen_ty_72 = 32 ; pub const NODE_IS_NATIVE_ANONYMOUS_ROOT : root :: _bindgen_ty_72 = 64 ; pub const NODE_FORCE_XBL_BINDINGS : root :: _bindgen_ty_72 = 128 ; pub const NODE_MAY_BE_IN_BINDING_MNGR : root :: _bindgen_ty_72 = 256 ; pub const NODE_IS_EDITABLE : root :: _bindgen_ty_72 = 512 ; pub const NODE_IS_NATIVE_ANONYMOUS : root :: _bindgen_ty_72 = 1024 ; pub const NODE_IS_IN_SHADOW_TREE : root :: _bindgen_ty_72 = 2048 ; pub const NODE_HAS_EMPTY_SELECTOR : root :: _bindgen_ty_72 = 4096 ; pub const NODE_HAS_SLOW_SELECTOR : root :: _bindgen_ty_72 = 8192 ; pub const NODE_HAS_EDGE_CHILD_SELECTOR : root :: _bindgen_ty_72 = 16384 ; pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS : root :: _bindgen_ty_72 = 32768 ; pub const NODE_ALL_SELECTOR_FLAGS : root :: _bindgen_ty_72 = 61440 ; pub const NODE_NEEDS_FRAME : root :: _bindgen_ty_72 = 65536 ; pub const NODE_DESCENDANTS_NEED_FRAMES : root :: _bindgen_ty_72 = 131072 ; pub const NODE_HAS_ACCESSKEY : root :: _bindgen_ty_72 = 262144 ; pub const NODE_HAS_DIRECTION_RTL : root :: _bindgen_ty_72 = 524288 ; pub const NODE_HAS_DIRECTION_LTR : root :: _bindgen_ty_72 = 1048576 ; pub const NODE_ALL_DIRECTION_FLAGS : root :: _bindgen_ty_72 = 1572864 ; pub const NODE_CHROME_ONLY_ACCESS : root :: _bindgen_ty_72 = 2097152 ; pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS : root :: _bindgen_ty_72 = 4194304 ; pub const NODE_TYPE_SPECIFIC_BITS_OFFSET : root :: _bindgen_ty_72 = 21 ; pub type _bindgen_ty_72 = :: std :: os :: raw :: c_uint ; /// An internal interface that abstracts some DOMNode-related parts that both /// nsIContent and nsIDocument share. An instance of this interface has a list /// of nsIContent children and provides access to them. @@ -770,10 +767,10 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// @return ATTR_MISSING, ATTR_VALUE_NO_MATCH or the non-negative index /// indicating the first value of aValues that matched pub type nsIContent_AttrValuesArray = * const * const root :: nsStaticAtom ; pub const nsIContent_FlattenedParentType_eNotForStyle : root :: nsIContent_FlattenedParentType = 0 ; pub const nsIContent_FlattenedParentType_eForStyle : root :: nsIContent_FlattenedParentType = 1 ; pub type nsIContent_FlattenedParentType = :: std :: os :: raw :: c_uint ; pub const nsIContent_ETabFocusType_eTabFocus_textControlsMask : root :: nsIContent_ETabFocusType = 1 ; pub const nsIContent_ETabFocusType_eTabFocus_formElementsMask : root :: nsIContent_ETabFocusType = 2 ; pub const nsIContent_ETabFocusType_eTabFocus_linksMask : root :: nsIContent_ETabFocusType = 4 ; pub const nsIContent_ETabFocusType_eTabFocus_any : root :: nsIContent_ETabFocusType = 7 ; pub type nsIContent_ETabFocusType = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}__ZN10nsIContent14sTabFocusModelE" ] + # [ link_name = "\u{1}_ZN10nsIContent14sTabFocusModelE" ] pub static mut nsIContent_sTabFocusModel : i32 ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsIContent26sTabFocusModelAppliesToXULE" ] + # [ link_name = "\u{1}_ZN10nsIContent26sTabFocusModelAppliesToXULE" ] pub static mut nsIContent_sTabFocusModelAppliesToXUL : bool ; } # [ test ] fn bindgen_test_layout_nsIContent ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIContent > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( nsIContent ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIContent > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIContent ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsFrameManagerBase { pub mPresShell : * mut root :: nsIPresShell , pub mRootFrame : * mut root :: nsIFrame , pub mDisplayNoneMap : * mut root :: nsFrameManagerBase_UndisplayedMap , pub mDisplayContentsMap : * mut root :: nsFrameManagerBase_UndisplayedMap , pub mIsDestroyingFrames : bool , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsFrameManagerBase_UndisplayedMap { _unused : [ u8 ; 0 ] } # [ test ] fn bindgen_test_layout_nsFrameManagerBase ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsFrameManagerBase > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsFrameManagerBase ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsFrameManagerBase > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsFrameManagerBase ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mPresShell as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase ) , "::" , stringify ! ( mPresShell ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mRootFrame as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase ) , "::" , stringify ! ( mRootFrame ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mDisplayNoneMap as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase ) , "::" , stringify ! ( mDisplayNoneMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mDisplayContentsMap as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase ) , "::" , stringify ! ( mDisplayContentsMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mIsDestroyingFrames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase ) , "::" , stringify ! ( mIsDestroyingFrames ) ) ) ; } impl Clone for nsFrameManagerBase { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIWeakReference { pub _base : root :: nsISupports , pub mObject : * mut root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIWeakReference_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIWeakReference ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIWeakReference > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsIWeakReference ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIWeakReference > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIWeakReference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWeakReference ) ) . mObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWeakReference ) , "::" , stringify ! ( mObject ) ) ) ; } impl Clone for nsIWeakReference { fn clone ( & self ) -> Self { * self } } pub type nsWeakPtr = root :: nsCOMPtr ; /// templated hashtable class maps keys to reference pointers. @@ -800,10 +797,10 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// presentation context, the style manager, the style set and the root /// frame. # [ repr ( C ) ] pub struct nsIPresShell { pub _base : root :: nsISupports , pub mDocument : root :: nsCOMPtr , pub mPresContext : root :: RefPtr < root :: nsPresContext > , pub mStyleSet : root :: mozilla :: StyleSetHandle , pub mFrameConstructor : * mut root :: nsCSSFrameConstructor , pub mViewManager : * mut root :: nsViewManager , pub mFrameArena : root :: nsPresArena , pub mSelection : root :: RefPtr < root :: nsFrameSelection > , pub mFrameManager : * mut root :: nsFrameManagerBase , pub mForwardingContainer : u64 , pub mDocAccessible : * mut root :: mozilla :: a11y :: DocAccessible , pub mReflowContinueTimer : root :: nsCOMPtr , pub mPaintCount : u64 , pub mScrollPositionClampingScrollPortSize : root :: nsSize , pub mAutoWeakFrames : * mut root :: AutoWeakFrame , pub mWeakFrames : [ u64 ; 4usize ] , pub mStyleCause : root :: UniqueProfilerBacktrace , pub mReflowCause : root :: UniqueProfilerBacktrace , pub mCanvasBackgroundColor : root :: nscolor , pub mResolution : [ u32 ; 2usize ] , pub mSelectionFlags : i16 , pub mChangeNestCount : u16 , pub mRenderFlags : root :: nsIPresShell_RenderFlags , pub _bitfield_1 : [ u8 ; 2usize ] , pub mPresShellId : u32 , pub mFontSizeInflationEmPerLine : u32 , pub mFontSizeInflationMinTwips : u32 , pub mFontSizeInflationLineThreshold : u32 , pub mFontSizeInflationForceEnabled : bool , pub mFontSizeInflationDisabledInMasterProcess : bool , pub mFontSizeInflationEnabled : bool , pub mFontSizeInflationEnabledIsDirty : bool , pub mPaintingIsFrozen : bool , pub mIsNeverPainting : bool , pub mInFlush : bool , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIPresShell_COMTypeInfo { pub _address : u8 , } pub type nsIPresShell_LayerManager = root :: mozilla :: layers :: LayerManager ; pub type nsIPresShell_SourceSurface = root :: mozilla :: gfx :: SourceSurface ; pub const nsIPresShell_eRenderFlag_STATE_IGNORING_VIEWPORT_SCROLLING : root :: nsIPresShell_eRenderFlag = 1 ; pub const nsIPresShell_eRenderFlag_STATE_DRAWWINDOW_NOT_FLUSHING : root :: nsIPresShell_eRenderFlag = 2 ; pub type nsIPresShell_eRenderFlag = :: std :: os :: raw :: c_uint ; pub type nsIPresShell_RenderFlags = u8 ; pub const nsIPresShell_ResizeReflowOptions_eBSizeExact : root :: nsIPresShell_ResizeReflowOptions = 0 ; pub const nsIPresShell_ResizeReflowOptions_eBSizeLimit : root :: nsIPresShell_ResizeReflowOptions = 1 ; pub type nsIPresShell_ResizeReflowOptions = u32 ; pub const nsIPresShell_ScrollDirection_eHorizontal : root :: nsIPresShell_ScrollDirection = 0 ; pub const nsIPresShell_ScrollDirection_eVertical : root :: nsIPresShell_ScrollDirection = 1 ; pub const nsIPresShell_ScrollDirection_eEither : root :: nsIPresShell_ScrollDirection = 2 ; pub type nsIPresShell_ScrollDirection = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_IntrinsicDirty_eResize : root :: nsIPresShell_IntrinsicDirty = 0 ; pub const nsIPresShell_IntrinsicDirty_eTreeChange : root :: nsIPresShell_IntrinsicDirty = 1 ; pub const nsIPresShell_IntrinsicDirty_eStyleChange : root :: nsIPresShell_IntrinsicDirty = 2 ; pub type nsIPresShell_IntrinsicDirty = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_ReflowRootHandling_ePositionOrSizeChange : root :: nsIPresShell_ReflowRootHandling = 0 ; pub const nsIPresShell_ReflowRootHandling_eNoPositionOrSizeChange : root :: nsIPresShell_ReflowRootHandling = 1 ; pub const nsIPresShell_ReflowRootHandling_eInferFromBitToAdd : root :: nsIPresShell_ReflowRootHandling = 2 ; pub type nsIPresShell_ReflowRootHandling = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_SCROLL_TOP : root :: nsIPresShell__bindgen_ty_1 = 0 ; pub const nsIPresShell_SCROLL_BOTTOM : root :: nsIPresShell__bindgen_ty_1 = 100 ; pub const nsIPresShell_SCROLL_LEFT : root :: nsIPresShell__bindgen_ty_1 = 0 ; pub const nsIPresShell_SCROLL_RIGHT : root :: nsIPresShell__bindgen_ty_1 = 100 ; pub const nsIPresShell_SCROLL_CENTER : root :: nsIPresShell__bindgen_ty_1 = 50 ; pub const nsIPresShell_SCROLL_MINIMUM : root :: nsIPresShell__bindgen_ty_1 = -1 ; pub type nsIPresShell__bindgen_ty_1 = :: std :: os :: raw :: c_int ; pub const nsIPresShell_WhenToScroll_SCROLL_ALWAYS : root :: nsIPresShell_WhenToScroll = 0 ; pub const nsIPresShell_WhenToScroll_SCROLL_IF_NOT_VISIBLE : root :: nsIPresShell_WhenToScroll = 1 ; pub const nsIPresShell_WhenToScroll_SCROLL_IF_NOT_FULLY_VISIBLE : root :: nsIPresShell_WhenToScroll = 2 ; pub type nsIPresShell_WhenToScroll = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIPresShell_ScrollAxis { pub _bindgen_opaque_blob : u32 , } # [ test ] fn bindgen_test_layout_nsIPresShell_ScrollAxis ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIPresShell_ScrollAxis > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nsIPresShell_ScrollAxis ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIPresShell_ScrollAxis > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsIPresShell_ScrollAxis ) ) ) ; } impl Clone for nsIPresShell_ScrollAxis { fn clone ( & self ) -> Self { * self } } pub const nsIPresShell_SCROLL_FIRST_ANCESTOR_ONLY : root :: nsIPresShell__bindgen_ty_2 = 1 ; pub const nsIPresShell_SCROLL_OVERFLOW_HIDDEN : root :: nsIPresShell__bindgen_ty_2 = 2 ; pub const nsIPresShell_SCROLL_NO_PARENT_FRAMES : root :: nsIPresShell__bindgen_ty_2 = 4 ; pub const nsIPresShell_SCROLL_SMOOTH : root :: nsIPresShell__bindgen_ty_2 = 8 ; pub const nsIPresShell_SCROLL_SMOOTH_AUTO : root :: nsIPresShell__bindgen_ty_2 = 16 ; pub type nsIPresShell__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_RENDER_IS_UNTRUSTED : root :: nsIPresShell__bindgen_ty_3 = 1 ; pub const nsIPresShell_RENDER_IGNORE_VIEWPORT_SCROLLING : root :: nsIPresShell__bindgen_ty_3 = 2 ; pub const nsIPresShell_RENDER_CARET : root :: nsIPresShell__bindgen_ty_3 = 4 ; pub const nsIPresShell_RENDER_USE_WIDGET_LAYERS : root :: nsIPresShell__bindgen_ty_3 = 8 ; pub const nsIPresShell_RENDER_ASYNC_DECODE_IMAGES : root :: nsIPresShell__bindgen_ty_3 = 16 ; pub const nsIPresShell_RENDER_DOCUMENT_RELATIVE : root :: nsIPresShell__bindgen_ty_3 = 32 ; pub const nsIPresShell_RENDER_DRAWWINDOW_NOT_FLUSHING : root :: nsIPresShell__bindgen_ty_3 = 64 ; pub type nsIPresShell__bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_RENDER_IS_IMAGE : root :: nsIPresShell__bindgen_ty_4 = 256 ; pub const nsIPresShell_RENDER_AUTO_SCALE : root :: nsIPresShell__bindgen_ty_4 = 128 ; pub type nsIPresShell__bindgen_ty_4 = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_FORCE_DRAW : root :: nsIPresShell__bindgen_ty_5 = 1 ; pub const nsIPresShell_ADD_FOR_SUBDOC : root :: nsIPresShell__bindgen_ty_5 = 2 ; pub const nsIPresShell_APPEND_UNSCROLLED_ONLY : root :: nsIPresShell__bindgen_ty_5 = 4 ; pub type nsIPresShell__bindgen_ty_5 = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_PaintFlags_PAINT_LAYERS : root :: nsIPresShell_PaintFlags = 1 ; pub const nsIPresShell_PaintFlags_PAINT_COMPOSITE : root :: nsIPresShell_PaintFlags = 2 ; pub const nsIPresShell_PaintFlags_PAINT_SYNC_DECODE_IMAGES : root :: nsIPresShell_PaintFlags = 4 ; pub type nsIPresShell_PaintFlags = :: std :: os :: raw :: c_uint ; pub const nsIPresShell_PaintType_PAINT_DEFAULT : root :: nsIPresShell_PaintType = 0 ; pub const nsIPresShell_PaintType_PAINT_DELAYED_COMPRESS : root :: nsIPresShell_PaintType = 1 ; pub type nsIPresShell_PaintType = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}__ZN12nsIPresShell12gCaptureInfoE" ] + # [ link_name = "\u{1}_ZN12nsIPresShell12gCaptureInfoE" ] pub static mut nsIPresShell_gCaptureInfo : root :: CapturingContentInfo ; } extern "C" { - # [ link_name = "\u{1}__ZN12nsIPresShell14gKeyDownTargetE" ] + # [ link_name = "\u{1}_ZN12nsIPresShell14gKeyDownTargetE" ] pub static mut nsIPresShell_gKeyDownTarget : * mut root :: nsIContent ; } # [ test ] fn bindgen_test_layout_nsIPresShell ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIPresShell > ( ) , 5344usize , concat ! ( "Size of: " , stringify ! ( nsIPresShell ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIPresShell > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIPresShell ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mDocument as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mPresContext as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mPresContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mStyleSet as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mStyleSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFrameConstructor as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFrameConstructor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mViewManager as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mViewManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFrameArena as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFrameArena ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mSelection as * const _ as usize } , 5184usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mSelection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFrameManager as * const _ as usize } , 5192usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFrameManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mForwardingContainer as * const _ as usize } , 5200usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mForwardingContainer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mDocAccessible as * const _ as usize } , 5208usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mDocAccessible ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mReflowContinueTimer as * const _ as usize } , 5216usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mReflowContinueTimer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mPaintCount as * const _ as usize } , 5224usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mPaintCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mScrollPositionClampingScrollPortSize as * const _ as usize } , 5232usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mScrollPositionClampingScrollPortSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mAutoWeakFrames as * const _ as usize } , 5240usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mAutoWeakFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mWeakFrames as * const _ as usize } , 5248usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mWeakFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mStyleCause as * const _ as usize } , 5280usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mStyleCause ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mReflowCause as * const _ as usize } , 5288usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mReflowCause ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mCanvasBackgroundColor as * const _ as usize } , 5296usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mCanvasBackgroundColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mResolution as * const _ as usize } , 5300usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mResolution ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mSelectionFlags as * const _ as usize } , 5308usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mSelectionFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mChangeNestCount as * const _ as usize } , 5310usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mChangeNestCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mRenderFlags as * const _ as usize } , 5312usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mRenderFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mPresShellId as * const _ as usize } , 5316usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mPresShellId ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationEmPerLine as * const _ as usize } , 5320usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationEmPerLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationMinTwips as * const _ as usize } , 5324usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationMinTwips ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationLineThreshold as * const _ as usize } , 5328usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationLineThreshold ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationForceEnabled as * const _ as usize } , 5332usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationForceEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationDisabledInMasterProcess as * const _ as usize } , 5333usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationDisabledInMasterProcess ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationEnabled as * const _ as usize } , 5334usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mFontSizeInflationEnabledIsDirty as * const _ as usize } , 5335usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mFontSizeInflationEnabledIsDirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mPaintingIsFrozen as * const _ as usize } , 5336usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mPaintingIsFrozen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mIsNeverPainting as * const _ as usize } , 5337usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mIsNeverPainting ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIPresShell ) ) . mInFlush as * const _ as usize } , 5338usize , concat ! ( "Alignment of field: " , stringify ! ( nsIPresShell ) , "::" , stringify ! ( mInFlush ) ) ) ; } impl nsIPresShell { # [ inline ] pub fn mDidInitialize ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDidInitialize ( & mut self , val : bool ) { let mask = 0x1 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mIsDestroying ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2 as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsDestroying ( & mut self , val : bool ) { let mask = 0x2 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mIsReflowing ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4 as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsReflowing ( & mut self , val : bool ) { let mask = 0x4 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mPaintingSuppressed ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8 as u16 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mPaintingSuppressed ( & mut self , val : bool ) { let mask = 0x8 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mIsActive ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x10 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsActive ( & mut self , val : bool ) { let mask = 0x10 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mFrozen ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x20 as u16 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mFrozen ( & mut self , val : bool ) { let mask = 0x20 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mIsFirstPaint ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x40 as u16 ; let val = ( unit_field_val & mask ) >> 6usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsFirstPaint ( & mut self , val : bool ) { let mask = 0x40 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 6usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mObservesMutationsForPrint ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x80 as u16 ; let val = ( unit_field_val & mask ) >> 7usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mObservesMutationsForPrint ( & mut self , val : bool ) { let mask = 0x80 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 7usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mWasLastReflowInterrupted ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mWasLastReflowInterrupted ( & mut self , val : bool ) { let mask = 0x100 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mScrollPositionClampingScrollPortSizeSet ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mScrollPositionClampingScrollPortSizeSet ( & mut self , val : bool ) { let mask = 0x200 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mNeedLayoutFlush ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mNeedLayoutFlush ( & mut self , val : bool ) { let mask = 0x400 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mNeedStyleFlush ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mNeedStyleFlush ( & mut self , val : bool ) { let mask = 0x800 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mObservingStyleFlushes ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mObservingStyleFlushes ( & mut self , val : bool ) { let mask = 0x1000 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mObservingLayoutFlushes ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mObservingLayoutFlushes ( & mut self , val : bool ) { let mask = 0x2000 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn mNeedThrottledAnimationFlush ( & self ) -> bool { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mNeedThrottledAnimationFlush ( & mut self , val : bool ) { let mask = 0x4000 as u16 ; let val = val as u8 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mDidInitialize : bool , mIsDestroying : bool , mIsReflowing : bool , mPaintingSuppressed : bool , mIsActive : bool , mFrozen : bool , mIsFirstPaint : bool , mObservesMutationsForPrint : bool , mWasLastReflowInterrupted : bool , mScrollPositionClampingScrollPortSizeSet : bool , mNeedLayoutFlush : bool , mNeedStyleFlush : bool , mObservingStyleFlushes : bool , mObservingLayoutFlushes : bool , mNeedThrottledAnimationFlush : bool ) -> u16 { ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 0 | ( ( mDidInitialize as u8 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( mIsDestroying as u8 as u16 ) << 1usize ) & ( 0x2 as u16 ) ) | ( ( mIsReflowing as u8 as u16 ) << 2usize ) & ( 0x4 as u16 ) ) | ( ( mPaintingSuppressed as u8 as u16 ) << 3usize ) & ( 0x8 as u16 ) ) | ( ( mIsActive as u8 as u16 ) << 4usize ) & ( 0x10 as u16 ) ) | ( ( mFrozen as u8 as u16 ) << 5usize ) & ( 0x20 as u16 ) ) | ( ( mIsFirstPaint as u8 as u16 ) << 6usize ) & ( 0x40 as u16 ) ) | ( ( mObservesMutationsForPrint as u8 as u16 ) << 7usize ) & ( 0x80 as u16 ) ) | ( ( mWasLastReflowInterrupted as u8 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( mScrollPositionClampingScrollPortSizeSet as u8 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( mNeedLayoutFlush as u8 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( mNeedStyleFlush as u8 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( mObservingStyleFlushes as u8 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( mObservingLayoutFlushes as u8 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( mNeedThrottledAnimationFlush as u8 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) } } /// The signature of the timer callback function passed to initWithFuncCallback. @@ -873,583 +870,583 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsIDocument_ExternalResourceLoad { pub _base : root :: nsISupports , pub mObservers : [ u64 ; 10usize ] , } # [ test ] fn bindgen_test_layout_nsIDocument_ExternalResourceLoad ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDocument_ExternalResourceLoad > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( nsIDocument_ExternalResourceLoad ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDocument_ExternalResourceLoad > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDocument_ExternalResourceLoad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIDocument_ExternalResourceLoad ) ) . mObservers as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsIDocument_ExternalResourceLoad ) , "::" , stringify ! ( mObservers ) ) ) ; } pub type nsIDocument_ActivityObserverEnumerator = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut root :: nsISupports , arg2 : * mut :: std :: os :: raw :: c_void ) > ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsIDocument_DocumentTheme { Doc_Theme_Uninitialized = 0 , Doc_Theme_None = 1 , Doc_Theme_Neutral = 2 , Doc_Theme_Dark = 3 , Doc_Theme_Bright = 4 , } pub type nsIDocument_FrameRequestCallbackList = root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: FrameRequestCallback > > ; pub const nsIDocument_DeprecatedOperations_eEnablePrivilege : root :: nsIDocument_DeprecatedOperations = 0 ; pub const nsIDocument_DeprecatedOperations_eDOMExceptionCode : root :: nsIDocument_DeprecatedOperations = 1 ; pub const nsIDocument_DeprecatedOperations_eMutationEvent : root :: nsIDocument_DeprecatedOperations = 2 ; pub const nsIDocument_DeprecatedOperations_eComponents : root :: nsIDocument_DeprecatedOperations = 3 ; pub const nsIDocument_DeprecatedOperations_ePrefixedVisibilityAPI : root :: nsIDocument_DeprecatedOperations = 4 ; pub const nsIDocument_DeprecatedOperations_eNodeIteratorDetach : root :: nsIDocument_DeprecatedOperations = 5 ; pub const nsIDocument_DeprecatedOperations_eLenientThis : root :: nsIDocument_DeprecatedOperations = 6 ; pub const nsIDocument_DeprecatedOperations_eGetPreventDefault : root :: nsIDocument_DeprecatedOperations = 7 ; pub const nsIDocument_DeprecatedOperations_eGetSetUserData : root :: nsIDocument_DeprecatedOperations = 8 ; pub const nsIDocument_DeprecatedOperations_eMozGetAsFile : root :: nsIDocument_DeprecatedOperations = 9 ; pub const nsIDocument_DeprecatedOperations_eUseOfCaptureEvents : root :: nsIDocument_DeprecatedOperations = 10 ; pub const nsIDocument_DeprecatedOperations_eUseOfReleaseEvents : root :: nsIDocument_DeprecatedOperations = 11 ; pub const nsIDocument_DeprecatedOperations_eUseOfDOM3LoadMethod : root :: nsIDocument_DeprecatedOperations = 12 ; pub const nsIDocument_DeprecatedOperations_eChromeUseOfDOM3LoadMethod : root :: nsIDocument_DeprecatedOperations = 13 ; pub const nsIDocument_DeprecatedOperations_eShowModalDialog : root :: nsIDocument_DeprecatedOperations = 14 ; pub const nsIDocument_DeprecatedOperations_eSyncXMLHttpRequest : root :: nsIDocument_DeprecatedOperations = 15 ; pub const nsIDocument_DeprecatedOperations_eWindow_Cc_ontrollers : root :: nsIDocument_DeprecatedOperations = 16 ; pub const nsIDocument_DeprecatedOperations_eImportXULIntoContent : root :: nsIDocument_DeprecatedOperations = 17 ; pub const nsIDocument_DeprecatedOperations_ePannerNodeDoppler : root :: nsIDocument_DeprecatedOperations = 18 ; pub const nsIDocument_DeprecatedOperations_eNavigatorGetUserMedia : root :: nsIDocument_DeprecatedOperations = 19 ; pub const nsIDocument_DeprecatedOperations_eWebrtcDeprecatedPrefix : root :: nsIDocument_DeprecatedOperations = 20 ; pub const nsIDocument_DeprecatedOperations_eRTCPeerConnectionGetStreams : root :: nsIDocument_DeprecatedOperations = 21 ; pub const nsIDocument_DeprecatedOperations_eAppCache : root :: nsIDocument_DeprecatedOperations = 22 ; pub const nsIDocument_DeprecatedOperations_ePrefixedImageSmoothingEnabled : root :: nsIDocument_DeprecatedOperations = 23 ; pub const nsIDocument_DeprecatedOperations_ePrefixedFullscreenAPI : root :: nsIDocument_DeprecatedOperations = 24 ; pub const nsIDocument_DeprecatedOperations_eLenientSetter : root :: nsIDocument_DeprecatedOperations = 25 ; pub const nsIDocument_DeprecatedOperations_eFileLastModifiedDate : root :: nsIDocument_DeprecatedOperations = 26 ; pub const nsIDocument_DeprecatedOperations_eImageBitmapRenderingContext_TransferImageBitmap : root :: nsIDocument_DeprecatedOperations = 27 ; pub const nsIDocument_DeprecatedOperations_eURLCreateObjectURL_MediaStream : root :: nsIDocument_DeprecatedOperations = 28 ; pub const nsIDocument_DeprecatedOperations_eXMLBaseAttribute : root :: nsIDocument_DeprecatedOperations = 29 ; pub const nsIDocument_DeprecatedOperations_eWindowContentUntrusted : root :: nsIDocument_DeprecatedOperations = 30 ; pub const nsIDocument_DeprecatedOperations_eDeprecatedOperationCount : root :: nsIDocument_DeprecatedOperations = 31 ; pub type nsIDocument_DeprecatedOperations = :: std :: os :: raw :: c_uint ; pub const nsIDocument_DocumentWarnings_eIgnoringWillChangeOverBudget : root :: nsIDocument_DocumentWarnings = 0 ; pub const nsIDocument_DocumentWarnings_ePreventDefaultFromPassiveListener : root :: nsIDocument_DocumentWarnings = 1 ; pub const nsIDocument_DocumentWarnings_eSVGRefLoop : root :: nsIDocument_DocumentWarnings = 2 ; pub const nsIDocument_DocumentWarnings_eSVGRefChainLengthExceeded : root :: nsIDocument_DocumentWarnings = 3 ; pub const nsIDocument_DocumentWarnings_eDocumentWarningCount : root :: nsIDocument_DocumentWarnings = 4 ; pub type nsIDocument_DocumentWarnings = :: std :: os :: raw :: c_uint ; pub const nsIDocument_ElementCallbackType_eConnected : root :: nsIDocument_ElementCallbackType = 0 ; pub const nsIDocument_ElementCallbackType_eDisconnected : root :: nsIDocument_ElementCallbackType = 1 ; pub const nsIDocument_ElementCallbackType_eAdopted : root :: nsIDocument_ElementCallbackType = 2 ; pub const nsIDocument_ElementCallbackType_eAttributeChanged : root :: nsIDocument_ElementCallbackType = 3 ; pub type nsIDocument_ElementCallbackType = :: std :: os :: raw :: c_uint ; pub const nsIDocument_eScopedStyle_Unknown : root :: nsIDocument__bindgen_ty_1 = 0 ; pub const nsIDocument_eScopedStyle_Disabled : root :: nsIDocument__bindgen_ty_1 = 1 ; pub const nsIDocument_eScopedStyle_Enabled : root :: nsIDocument__bindgen_ty_1 = 2 ; pub type nsIDocument__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsIDocument_Type { eUnknown = 0 , eHTML = 1 , eXHTML = 2 , eGenericXML = 3 , eSVG = 4 , eXUL = 5 , } pub const nsIDocument_Tri_eTriUnset : root :: nsIDocument_Tri = 0 ; pub const nsIDocument_Tri_eTriFalse : root :: nsIDocument_Tri = 1 ; pub const nsIDocument_Tri_eTriTrue : root :: nsIDocument_Tri = 2 ; pub type nsIDocument_Tri = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDocument_FrameRequest { _unused : [ u8 ; 0 ] } pub const nsIDocument_kSegmentSize : usize = 128 ; # [ test ] fn bindgen_test_layout_nsIDocument ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDocument > ( ) , 896usize , concat ! ( "Size of: " , stringify ! ( nsIDocument ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDocument > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDocument ) ) ) ; } impl nsIDocument { # [ inline ] pub fn mBidiEnabled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1 as u64 ; 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 = 0x1 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mMathMLEnabled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2 as u64 ; 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 = 0x2 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsInitialDocumentInWindow ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4 as u64 ; 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 = 0x4 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIgnoreDocGroupMismatches ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8 as u64 ; 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 = 0x8 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mLoadedAsData ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10 as u64 ; 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 = 0x10 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mLoadedAsInteractiveData ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20 as u64 ; 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 = 0x20 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mMayStartLayout ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40 as u64 ; 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 = 0x40 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 6usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHaveFiredTitleChange ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80 as u64 ; 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 = 0x80 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 7usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsShowing ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100 as u64 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsShowing ( & mut self , val : bool ) { let mask = 0x100 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mVisible ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200 as u64 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mVisible ( & mut self , val : bool ) { let mask = 0x200 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasReferrerPolicyCSP ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400 as u64 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasReferrerPolicyCSP ( & mut self , val : bool ) { let mask = 0x400 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mRemovedFromDocShell ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800 as u64 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mRemovedFromDocShell ( & mut self , val : bool ) { let mask = 0x800 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mAllowDNSPrefetch ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000 as u64 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mAllowDNSPrefetch ( & mut self , val : bool ) { let mask = 0x1000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsStaticDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000 as u64 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsStaticDocument ( & mut self , val : bool ) { let mask = 0x2000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mCreatingStaticClone ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000 as u64 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mCreatingStaticClone ( & mut self , val : bool ) { let mask = 0x4000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mInUnlinkOrDeletion ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000 as u64 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mInUnlinkOrDeletion ( & mut self , val : bool ) { let mask = 0x8000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasHadScriptHandlingObject ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000 as u64 ; let val = ( unit_field_val & mask ) >> 16usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasHadScriptHandlingObject ( & mut self , val : bool ) { let mask = 0x10000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 16usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsBeingUsedAsImage ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000 as u64 ; let val = ( unit_field_val & mask ) >> 17usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsBeingUsedAsImage ( & mut self , val : bool ) { let mask = 0x20000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 17usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsSyntheticDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000 as u64 ; let val = ( unit_field_val & mask ) >> 18usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsSyntheticDocument ( & mut self , val : bool ) { let mask = 0x40000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 18usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasLinksToUpdate ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80000 as u64 ; let val = ( unit_field_val & mask ) >> 19usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasLinksToUpdate ( & mut self , val : bool ) { let mask = 0x80000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 19usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasLinksToUpdateRunnable ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100000 as u64 ; let val = ( unit_field_val & mask ) >> 20usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasLinksToUpdateRunnable ( & mut self , val : bool ) { let mask = 0x100000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 20usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mMayHaveDOMMutationObservers ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000 as u64 ; let val = ( unit_field_val & mask ) >> 21usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mMayHaveDOMMutationObservers ( & mut self , val : bool ) { let mask = 0x200000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 21usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mMayHaveAnimationObservers ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000 as u64 ; let val = ( unit_field_val & mask ) >> 22usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mMayHaveAnimationObservers ( & mut self , val : bool ) { let mask = 0x400000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 22usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasMixedActiveContentLoaded ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800000 as u64 ; let val = ( unit_field_val & mask ) >> 23usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasMixedActiveContentLoaded ( & mut self , val : bool ) { let mask = 0x800000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 23usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasMixedActiveContentBlocked ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000000 as u64 ; let val = ( unit_field_val & mask ) >> 24usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasMixedActiveContentBlocked ( & mut self , val : bool ) { let mask = 0x1000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 24usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasMixedDisplayContentLoaded ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000000 as u64 ; let val = ( unit_field_val & mask ) >> 25usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasMixedDisplayContentLoaded ( & mut self , val : bool ) { let mask = 0x2000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 25usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasMixedDisplayContentBlocked ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000000 as u64 ; let val = ( unit_field_val & mask ) >> 26usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasMixedDisplayContentBlocked ( & mut self , val : bool ) { let mask = 0x4000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 26usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasMixedContentObjectSubrequest ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000000 as u64 ; let val = ( unit_field_val & mask ) >> 27usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasMixedContentObjectSubrequest ( & mut self , val : bool ) { let mask = 0x8000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 27usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasCSP ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000000 as u64 ; let val = ( unit_field_val & mask ) >> 28usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasCSP ( & mut self , val : bool ) { let mask = 0x10000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 28usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasUnsafeEvalCSP ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000000 as u64 ; let val = ( unit_field_val & mask ) >> 29usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasUnsafeEvalCSP ( & mut self , val : bool ) { let mask = 0x20000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 29usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasUnsafeInlineCSP ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000000 as u64 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasUnsafeInlineCSP ( & mut self , val : bool ) { let mask = 0x40000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasTrackingContentBlocked ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80000000 as u64 ; let val = ( unit_field_val & mask ) >> 31usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasTrackingContentBlocked ( & mut self , val : bool ) { let mask = 0x80000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 31usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasTrackingContentLoaded ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100000000 as u64 ; let val = ( unit_field_val & mask ) >> 32usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasTrackingContentLoaded ( & mut self , val : bool ) { let mask = 0x100000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 32usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mBFCacheDisallowed ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000000 as u64 ; let val = ( unit_field_val & mask ) >> 33usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mBFCacheDisallowed ( & mut self , val : bool ) { let mask = 0x200000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 33usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasHadDefaultView ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000000 as u64 ; let val = ( unit_field_val & mask ) >> 34usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasHadDefaultView ( & mut self , val : bool ) { let mask = 0x400000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 34usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mStyleSheetChangeEventsEnabled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800000000 as u64 ; let val = ( unit_field_val & mask ) >> 35usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mStyleSheetChangeEventsEnabled ( & mut self , val : bool ) { let mask = 0x800000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 35usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsSrcdocDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000000000 as u64 ; let val = ( unit_field_val & mask ) >> 36usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsSrcdocDocument ( & mut self , val : bool ) { let mask = 0x1000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 36usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDidDocumentOpen ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000000000 as u64 ; let val = ( unit_field_val & mask ) >> 37usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDidDocumentOpen ( & mut self , val : bool ) { let mask = 0x2000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 37usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasDisplayDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000000000 as u64 ; let val = ( unit_field_val & mask ) >> 38usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasDisplayDocument ( & mut self , val : bool ) { let mask = 0x4000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 38usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFontFaceSetDirty ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000000000 as u64 ; let val = ( unit_field_val & mask ) >> 39usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mFontFaceSetDirty ( & mut self , val : bool ) { let mask = 0x8000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 39usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mGetUserFontSetCalled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000000000 as u64 ; let val = ( unit_field_val & mask ) >> 40usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mGetUserFontSetCalled ( & mut self , val : bool ) { let mask = 0x10000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 40usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPostedFlushUserFontSet ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000000000 as u64 ; let val = ( unit_field_val & mask ) >> 41usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mPostedFlushUserFontSet ( & mut self , val : bool ) { let mask = 0x20000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 41usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDidFireDOMContentLoaded ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000000000 as u64 ; let val = ( unit_field_val & mask ) >> 42usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDidFireDOMContentLoaded ( & mut self , val : bool ) { let mask = 0x40000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 42usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasScrollLinkedEffect ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80000000000 as u64 ; let val = ( unit_field_val & mask ) >> 43usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHasScrollLinkedEffect ( & mut self , val : bool ) { let mask = 0x80000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 43usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFrameRequestCallbacksScheduled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100000000000 as u64 ; let val = ( unit_field_val & mask ) >> 44usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mFrameRequestCallbacksScheduled ( & mut self , val : bool ) { let mask = 0x100000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 44usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsTopLevelContentDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000000000 as u64 ; let val = ( unit_field_val & mask ) >> 45usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsTopLevelContentDocument ( & mut self , val : bool ) { let mask = 0x200000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 45usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsContentDocument ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000000000 as u64 ; let val = ( unit_field_val & mask ) >> 46usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsContentDocument ( & mut self , val : bool ) { let mask = 0x400000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 46usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDidCallBeginLoad ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800000000000 as u64 ; let val = ( unit_field_val & mask ) >> 47usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDidCallBeginLoad ( & mut self , val : bool ) { let mask = 0x800000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 47usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mBufferingCSPViolations ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000000000000 as u64 ; let val = ( unit_field_val & mask ) >> 48usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mBufferingCSPViolations ( & mut self , val : bool ) { let mask = 0x1000000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 48usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mAllowPaymentRequest ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000000000000 as u64 ; let val = ( unit_field_val & mask ) >> 49usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mAllowPaymentRequest ( & mut self , val : bool ) { let mask = 0x2000000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 49usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mEncodingMenuDisabled ( & self ) -> bool { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000000000000 as u64 ; let val = ( unit_field_val & mask ) >> 50usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mEncodingMenuDisabled ( & mut self , val : bool ) { let mask = 0x4000000000000 as u64 ; let val = val as u8 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 50usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsScopedStyleEnabled ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x18000000000000 as u64 ; let val = ( unit_field_val & mask ) >> 51usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsScopedStyleEnabled ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x18000000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 51usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mBidiEnabled : bool , mMathMLEnabled : bool , mIsInitialDocumentInWindow : bool , mIgnoreDocGroupMismatches : bool , mLoadedAsData : bool , mLoadedAsInteractiveData : bool , mMayStartLayout : bool , mHaveFiredTitleChange : bool , mIsShowing : bool , mVisible : bool , mHasReferrerPolicyCSP : bool , mRemovedFromDocShell : bool , mAllowDNSPrefetch : bool , mIsStaticDocument : bool , mCreatingStaticClone : bool , mInUnlinkOrDeletion : bool , mHasHadScriptHandlingObject : bool , mIsBeingUsedAsImage : bool , mIsSyntheticDocument : bool , mHasLinksToUpdate : bool , mHasLinksToUpdateRunnable : bool , mMayHaveDOMMutationObservers : bool , mMayHaveAnimationObservers : bool , mHasMixedActiveContentLoaded : bool , mHasMixedActiveContentBlocked : bool , mHasMixedDisplayContentLoaded : bool , mHasMixedDisplayContentBlocked : bool , mHasMixedContentObjectSubrequest : bool , mHasCSP : bool , mHasUnsafeEvalCSP : bool , mHasUnsafeInlineCSP : bool , mHasTrackingContentBlocked : bool , mHasTrackingContentLoaded : bool , mBFCacheDisallowed : bool , mHasHadDefaultView : bool , mStyleSheetChangeEventsEnabled : bool , mIsSrcdocDocument : bool , mDidDocumentOpen : bool , mHasDisplayDocument : bool , mFontFaceSetDirty : bool , mGetUserFontSetCalled : bool , mPostedFlushUserFontSet : bool , mDidFireDOMContentLoaded : bool , mHasScrollLinkedEffect : bool , mFrameRequestCallbacksScheduled : bool , mIsTopLevelContentDocument : bool , mIsContentDocument : bool , mDidCallBeginLoad : bool , mBufferingCSPViolations : bool , mAllowPaymentRequest : bool , mEncodingMenuDisabled : bool , mIsScopedStyleEnabled : :: std :: os :: raw :: c_uint ) -> u64 { ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 0 | ( ( mBidiEnabled as u8 as u64 ) << 0usize ) & ( 0x1 as u64 ) ) | ( ( mMathMLEnabled as u8 as u64 ) << 1usize ) & ( 0x2 as u64 ) ) | ( ( mIsInitialDocumentInWindow as u8 as u64 ) << 2usize ) & ( 0x4 as u64 ) ) | ( ( mIgnoreDocGroupMismatches as u8 as u64 ) << 3usize ) & ( 0x8 as u64 ) ) | ( ( mLoadedAsData as u8 as u64 ) << 4usize ) & ( 0x10 as u64 ) ) | ( ( mLoadedAsInteractiveData as u8 as u64 ) << 5usize ) & ( 0x20 as u64 ) ) | ( ( mMayStartLayout as u8 as u64 ) << 6usize ) & ( 0x40 as u64 ) ) | ( ( mHaveFiredTitleChange as u8 as u64 ) << 7usize ) & ( 0x80 as u64 ) ) | ( ( mIsShowing as u8 as u64 ) << 8usize ) & ( 0x100 as u64 ) ) | ( ( mVisible as u8 as u64 ) << 9usize ) & ( 0x200 as u64 ) ) | ( ( mHasReferrerPolicyCSP as u8 as u64 ) << 10usize ) & ( 0x400 as u64 ) ) | ( ( mRemovedFromDocShell as u8 as u64 ) << 11usize ) & ( 0x800 as u64 ) ) | ( ( mAllowDNSPrefetch as u8 as u64 ) << 12usize ) & ( 0x1000 as u64 ) ) | ( ( mIsStaticDocument as u8 as u64 ) << 13usize ) & ( 0x2000 as u64 ) ) | ( ( mCreatingStaticClone as u8 as u64 ) << 14usize ) & ( 0x4000 as u64 ) ) | ( ( mInUnlinkOrDeletion as u8 as u64 ) << 15usize ) & ( 0x8000 as u64 ) ) | ( ( mHasHadScriptHandlingObject as u8 as u64 ) << 16usize ) & ( 0x10000 as u64 ) ) | ( ( mIsBeingUsedAsImage as u8 as u64 ) << 17usize ) & ( 0x20000 as u64 ) ) | ( ( mIsSyntheticDocument as u8 as u64 ) << 18usize ) & ( 0x40000 as u64 ) ) | ( ( mHasLinksToUpdate as u8 as u64 ) << 19usize ) & ( 0x80000 as u64 ) ) | ( ( mHasLinksToUpdateRunnable as u8 as u64 ) << 20usize ) & ( 0x100000 as u64 ) ) | ( ( mMayHaveDOMMutationObservers as u8 as u64 ) << 21usize ) & ( 0x200000 as u64 ) ) | ( ( mMayHaveAnimationObservers as u8 as u64 ) << 22usize ) & ( 0x400000 as u64 ) ) | ( ( mHasMixedActiveContentLoaded as u8 as u64 ) << 23usize ) & ( 0x800000 as u64 ) ) | ( ( mHasMixedActiveContentBlocked as u8 as u64 ) << 24usize ) & ( 0x1000000 as u64 ) ) | ( ( mHasMixedDisplayContentLoaded as u8 as u64 ) << 25usize ) & ( 0x2000000 as u64 ) ) | ( ( mHasMixedDisplayContentBlocked as u8 as u64 ) << 26usize ) & ( 0x4000000 as u64 ) ) | ( ( mHasMixedContentObjectSubrequest as u8 as u64 ) << 27usize ) & ( 0x8000000 as u64 ) ) | ( ( mHasCSP as u8 as u64 ) << 28usize ) & ( 0x10000000 as u64 ) ) | ( ( mHasUnsafeEvalCSP as u8 as u64 ) << 29usize ) & ( 0x20000000 as u64 ) ) | ( ( mHasUnsafeInlineCSP as u8 as u64 ) << 30usize ) & ( 0x40000000 as u64 ) ) | ( ( mHasTrackingContentBlocked as u8 as u64 ) << 31usize ) & ( 0x80000000 as u64 ) ) | ( ( mHasTrackingContentLoaded as u8 as u64 ) << 32usize ) & ( 0x100000000 as u64 ) ) | ( ( mBFCacheDisallowed as u8 as u64 ) << 33usize ) & ( 0x200000000 as u64 ) ) | ( ( mHasHadDefaultView as u8 as u64 ) << 34usize ) & ( 0x400000000 as u64 ) ) | ( ( mStyleSheetChangeEventsEnabled as u8 as u64 ) << 35usize ) & ( 0x800000000 as u64 ) ) | ( ( mIsSrcdocDocument as u8 as u64 ) << 36usize ) & ( 0x1000000000 as u64 ) ) | ( ( mDidDocumentOpen as u8 as u64 ) << 37usize ) & ( 0x2000000000 as u64 ) ) | ( ( mHasDisplayDocument as u8 as u64 ) << 38usize ) & ( 0x4000000000 as u64 ) ) | ( ( mFontFaceSetDirty as u8 as u64 ) << 39usize ) & ( 0x8000000000 as u64 ) ) | ( ( mGetUserFontSetCalled as u8 as u64 ) << 40usize ) & ( 0x10000000000 as u64 ) ) | ( ( mPostedFlushUserFontSet as u8 as u64 ) << 41usize ) & ( 0x20000000000 as u64 ) ) | ( ( mDidFireDOMContentLoaded as u8 as u64 ) << 42usize ) & ( 0x40000000000 as u64 ) ) | ( ( mHasScrollLinkedEffect as u8 as u64 ) << 43usize ) & ( 0x80000000000 as u64 ) ) | ( ( mFrameRequestCallbacksScheduled as u8 as u64 ) << 44usize ) & ( 0x100000000000 as u64 ) ) | ( ( mIsTopLevelContentDocument as u8 as u64 ) << 45usize ) & ( 0x200000000000 as u64 ) ) | ( ( mIsContentDocument as u8 as u64 ) << 46usize ) & ( 0x400000000000 as u64 ) ) | ( ( mDidCallBeginLoad as u8 as u64 ) << 47usize ) & ( 0x800000000000 as u64 ) ) | ( ( mBufferingCSPViolations as u8 as u64 ) << 48usize ) & ( 0x1000000000000 as u64 ) ) | ( ( mAllowPaymentRequest as u8 as u64 ) << 49usize ) & ( 0x2000000000000 as u64 ) ) | ( ( mEncodingMenuDisabled as u8 as u64 ) << 50usize ) & ( 0x4000000000000 as u64 ) ) | ( ( mIsScopedStyleEnabled as u32 as u64 ) << 51usize ) & ( 0x18000000000000 as u64 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsBidi { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIPrintSettings { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsITheme { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gfxTextPerfMetrics { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsTransitionManager { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsAnimationManager { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsDeviceContext { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gfxMissingFontRecorder { _unused : [ u8 ; 0 ] } pub const kPresContext_DefaultVariableFont_ID : u8 = 0 ; pub const kPresContext_DefaultFixedFont_ID : u8 = 1 ; # [ repr ( C ) ] pub struct nsPresContext { pub _base : root :: nsISupports , pub _base_1 : u64 , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mType : root :: nsPresContext_nsPresContextType , pub mShell : * mut root :: nsIPresShell , pub mDocument : root :: nsCOMPtr , pub mDeviceContext : root :: RefPtr < root :: nsDeviceContext > , pub mEventManager : root :: RefPtr < root :: mozilla :: EventStateManager > , pub mRefreshDriver : root :: RefPtr < root :: nsRefreshDriver > , pub mEffectCompositor : root :: RefPtr < root :: mozilla :: EffectCompositor > , pub mTransitionManager : root :: RefPtr < root :: nsTransitionManager > , pub mAnimationManager : root :: RefPtr < root :: nsAnimationManager > , pub mRestyleManager : root :: RefPtr < root :: mozilla :: RestyleManager > , pub mCounterStyleManager : root :: RefPtr < root :: mozilla :: CounterStyleManager > , pub mMedium : * mut root :: nsAtom , pub mMediaEmulated : root :: RefPtr < root :: nsAtom > , pub mFontFeatureValuesLookup : root :: RefPtr < root :: gfxFontFeatureValueSet > , pub mLinkHandler : * mut root :: nsILinkHandler , pub mLanguage : root :: RefPtr < root :: nsAtom > , pub mInflationDisabledForShrinkWrap : bool , pub mContainer : u64 , pub mBaseMinFontSize : i32 , pub mSystemFontScale : f32 , pub mTextZoom : f32 , pub mEffectiveTextZoom : f32 , pub mFullZoom : f32 , pub mOverrideDPPX : f32 , pub mLastFontInflationScreenSize : root :: gfxSize , pub mCurAppUnitsPerDevPixel : i32 , pub mAutoQualityMinFontSizePixelsPref : i32 , pub mTheme : root :: nsCOMPtr , pub mLangService : * mut root :: nsLanguageAtomService , pub mPrintSettings : root :: nsCOMPtr , pub mPrefChangedTimer : root :: nsCOMPtr , pub mBidiEngine : root :: mozilla :: UniquePtr < root :: nsBidi > , pub mTransactions : [ u64 ; 10usize ] , pub mTextPerf : root :: nsAutoPtr < root :: gfxTextPerfMetrics > , pub mMissingFonts : root :: nsAutoPtr < root :: gfxMissingFontRecorder > , pub mVisibleArea : root :: nsRect , pub mLastResizeEventVisibleArea : root :: nsRect , pub mPageSize : root :: nsSize , pub mPageScale : f32 , pub mPPScale : f32 , pub mDefaultColor : root :: nscolor , pub mBackgroundColor : root :: nscolor , pub mLinkColor : root :: nscolor , pub mActiveLinkColor : root :: nscolor , pub mVisitedLinkColor : root :: nscolor , pub mFocusBackgroundColor : root :: nscolor , pub mFocusTextColor : root :: nscolor , pub mBodyTextColor : root :: nscolor , pub mViewportScrollbarOverrideElement : * mut root :: mozilla :: dom :: Element , pub mViewportStyleScrollbar : root :: nsPresContext_ScrollbarStyles , pub mFocusRingWidth : u8 , pub mExistThrottledUpdates : bool , pub mImageAnimationMode : u16 , pub mImageAnimationModePref : u16 , pub mLangGroupFontPrefs : root :: nsPresContext_LangGroupFontPrefs , pub mFontGroupCacheDirty : bool , pub mLanguagesUsed : [ u64 ; 4usize ] , pub mBorderWidthTable : [ root :: nscoord ; 3usize ] , pub mInterruptChecksToSkip : u32 , pub mElementsRestyled : u64 , pub mFramesConstructed : u64 , pub mFramesReflowed : u64 , pub mReflowStartTime : root :: mozilla :: TimeStamp , pub mFirstNonBlankPaintTime : root :: mozilla :: TimeStamp , pub mFirstClickTime : root :: mozilla :: TimeStamp , pub mFirstKeyTime : root :: mozilla :: TimeStamp , pub mFirstMouseMoveTime : root :: mozilla :: TimeStamp , pub mFirstScrollTime : root :: mozilla :: TimeStamp , pub mInteractionTimeEnabled : bool , pub mLastStyleUpdateForAllAnimations : root :: mozilla :: TimeStamp , pub mTelemetryScrollLastY : root :: nscoord , pub mTelemetryScrollMaxY : root :: nscoord , pub mTelemetryScrollTotalY : root :: nscoord , pub _bitfield_1 : [ u8 ; 6usize ] , pub __bindgen_padding_0 : [ u16 ; 3usize ] , } pub type nsPresContext_Encoding = root :: mozilla :: Encoding ; pub type nsPresContext_NotNull < T > = root :: mozilla :: NotNull < T > ; pub type nsPresContext_LangGroupFontPrefs = root :: mozilla :: LangGroupFontPrefs ; pub type nsPresContext_ScrollbarStyles = root :: mozilla :: ScrollbarStyles ; pub type nsPresContext_StaticPresData = root :: mozilla :: StaticPresData ; pub type nsPresContext_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsPresContext_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_nsPresContext_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPresContext_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsPresContext_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPresContext_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPresContext_cycleCollection ) ) ) ; } impl Clone for nsPresContext_cycleCollection { fn clone ( & self ) -> Self { * self } } pub const nsPresContext_nsPresContextType_eContext_Galley : root :: nsPresContext_nsPresContextType = 0 ; pub const nsPresContext_nsPresContextType_eContext_PrintPreview : root :: nsPresContext_nsPresContextType = 1 ; pub const nsPresContext_nsPresContextType_eContext_Print : root :: nsPresContext_nsPresContextType = 2 ; pub const nsPresContext_nsPresContextType_eContext_PageLayout : root :: nsPresContext_nsPresContextType = 3 ; pub type nsPresContext_nsPresContextType = :: std :: os :: raw :: c_uint ; pub const nsPresContext_InteractionType_eClickInteraction : root :: nsPresContext_InteractionType = 0 ; pub const nsPresContext_InteractionType_eKeyInteraction : root :: nsPresContext_InteractionType = 1 ; pub const nsPresContext_InteractionType_eMouseMoveInteraction : root :: nsPresContext_InteractionType = 2 ; pub const nsPresContext_InteractionType_eScrollInteraction : root :: nsPresContext_InteractionType = 3 ; pub type nsPresContext_InteractionType = u32 ; /// A class that can be used to temporarily disable reflow interruption. # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsPresContext_InterruptPreventer { pub mCtx : * mut root :: nsPresContext , pub mInterruptsEnabled : bool , pub mHasPendingInterrupt : bool , } # [ test ] fn bindgen_test_layout_nsPresContext_InterruptPreventer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPresContext_InterruptPreventer > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsPresContext_InterruptPreventer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPresContext_InterruptPreventer > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPresContext_InterruptPreventer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) . mCtx as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext_InterruptPreventer ) , "::" , stringify ! ( mCtx ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) . mInterruptsEnabled as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext_InterruptPreventer ) , "::" , stringify ! ( mInterruptsEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) . mHasPendingInterrupt as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext_InterruptPreventer ) , "::" , stringify ! ( mHasPendingInterrupt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsPresContext_TransactionInvalidations { pub mTransactionId : u64 , pub mInvalidations : root :: nsTArray < root :: nsRect > , } # [ test ] fn bindgen_test_layout_nsPresContext_TransactionInvalidations ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPresContext_TransactionInvalidations > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsPresContext_TransactionInvalidations ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPresContext_TransactionInvalidations > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPresContext_TransactionInvalidations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext_TransactionInvalidations ) ) . mTransactionId as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext_TransactionInvalidations ) , "::" , stringify ! ( mTransactionId ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext_TransactionInvalidations ) ) . mInvalidations as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext_TransactionInvalidations ) , "::" , stringify ! ( mInvalidations ) ) ) ; } extern "C" { - # [ link_name = "\u{1}__ZN13nsPresContext21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN13nsPresContext21_cycleCollectorGlobalE" ] pub static mut nsPresContext__cycleCollectorGlobal : root :: nsPresContext_cycleCollection ; } # [ test ] fn bindgen_test_layout_nsPresContext ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsPresContext > ( ) , 1376usize , concat ! ( "Size of: " , stringify ! ( nsPresContext ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsPresContext > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPresContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mRefCnt as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mType as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mShell as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mShell ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mDocument as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mDeviceContext as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mDeviceContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mEventManager as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mEventManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mRefreshDriver as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mRefreshDriver ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mEffectCompositor as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mEffectCompositor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTransitionManager as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTransitionManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mAnimationManager as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mAnimationManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mRestyleManager as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mRestyleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mCounterStyleManager as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mCounterStyleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mMedium as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mMedium ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mMediaEmulated as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mMediaEmulated ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFontFeatureValuesLookup as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFontFeatureValuesLookup ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLinkHandler as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLinkHandler ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLanguage as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLanguage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mInflationDisabledForShrinkWrap as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInflationDisabledForShrinkWrap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mContainer as * const _ as usize } , 160usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mContainer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBaseMinFontSize as * const _ as usize } , 168usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBaseMinFontSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mSystemFontScale as * const _ as usize } , 172usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mSystemFontScale ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTextZoom as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTextZoom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mEffectiveTextZoom as * const _ as usize } , 180usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mEffectiveTextZoom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFullZoom as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFullZoom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mOverrideDPPX as * const _ as usize } , 188usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mOverrideDPPX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLastFontInflationScreenSize as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLastFontInflationScreenSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mCurAppUnitsPerDevPixel as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mCurAppUnitsPerDevPixel ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mAutoQualityMinFontSizePixelsPref as * const _ as usize } , 212usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mAutoQualityMinFontSizePixelsPref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTheme as * const _ as usize } , 216usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTheme ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLangService as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLangService ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mPrintSettings as * const _ as usize } , 232usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mPrintSettings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mPrefChangedTimer as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mPrefChangedTimer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBidiEngine as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBidiEngine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTransactions as * const _ as usize } , 256usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTransactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTextPerf as * const _ as usize } , 336usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTextPerf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mMissingFonts as * const _ as usize } , 344usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mMissingFonts ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mVisibleArea as * const _ as usize } , 352usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mVisibleArea ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLastResizeEventVisibleArea as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLastResizeEventVisibleArea ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mPageSize as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mPageSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mPageScale as * const _ as usize } , 392usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mPageScale ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mPPScale as * const _ as usize } , 396usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mPPScale ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mDefaultColor as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mDefaultColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBackgroundColor as * const _ as usize } , 404usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBackgroundColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLinkColor as * const _ as usize } , 408usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLinkColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mActiveLinkColor as * const _ as usize } , 412usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mActiveLinkColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mVisitedLinkColor as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mVisitedLinkColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFocusBackgroundColor as * const _ as usize } , 420usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFocusBackgroundColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFocusTextColor as * const _ as usize } , 424usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFocusTextColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBodyTextColor as * const _ as usize } , 428usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBodyTextColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mViewportScrollbarOverrideElement as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mViewportScrollbarOverrideElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mViewportStyleScrollbar as * const _ as usize } , 440usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mViewportStyleScrollbar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFocusRingWidth as * const _ as usize } , 504usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFocusRingWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mExistThrottledUpdates as * const _ as usize } , 505usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mExistThrottledUpdates ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mImageAnimationMode as * const _ as usize } , 506usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mImageAnimationMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mImageAnimationModePref as * const _ as usize } , 508usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mImageAnimationModePref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLangGroupFontPrefs as * const _ as usize } , 512usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLangGroupFontPrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFontGroupCacheDirty as * const _ as usize } , 1208usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFontGroupCacheDirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLanguagesUsed as * const _ as usize } , 1216usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLanguagesUsed ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBorderWidthTable as * const _ as usize } , 1248usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBorderWidthTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mInterruptChecksToSkip as * const _ as usize } , 1260usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInterruptChecksToSkip ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mElementsRestyled as * const _ as usize } , 1264usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mElementsRestyled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFramesConstructed as * const _ as usize } , 1272usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFramesConstructed ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFramesReflowed as * const _ as usize } , 1280usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFramesReflowed ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mReflowStartTime as * const _ as usize } , 1288usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mReflowStartTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstNonBlankPaintTime as * const _ as usize } , 1296usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstNonBlankPaintTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstClickTime as * const _ as usize } , 1304usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstClickTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstKeyTime as * const _ as usize } , 1312usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstKeyTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstMouseMoveTime as * const _ as usize } , 1320usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstMouseMoveTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstScrollTime as * const _ as usize } , 1328usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstScrollTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mInteractionTimeEnabled as * const _ as usize } , 1336usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInteractionTimeEnabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLastStyleUpdateForAllAnimations as * const _ as usize } , 1344usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLastStyleUpdateForAllAnimations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTelemetryScrollLastY as * const _ as usize } , 1352usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollLastY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTelemetryScrollMaxY as * const _ as usize } , 1356usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollMaxY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsPresContext ) ) . mTelemetryScrollTotalY as * const _ as usize } , 1360usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollTotalY ) ) ) ; } impl nsPresContext { # [ inline ] pub fn mHasPendingInterrupt ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1 as u64 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mHasPendingInterrupt ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingInterruptFromTest ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2 as u64 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingInterruptFromTest ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mInterruptsEnabled ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4 as u64 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mInterruptsEnabled ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUseDocumentFonts ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8 as u64 ; 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 = 0x8 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUseDocumentColors ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10 as u64 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mUseDocumentColors ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x10 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUnderlineLinks ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20 as u64 ; 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 = 0x20 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mSendAfterPaintToContent ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40 as u64 ; let val = ( unit_field_val & mask ) >> 6usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mSendAfterPaintToContent ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x40 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 6usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUseFocusColors ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80 as u64 ; 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 = 0x80 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 7usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFocusRingOnAnything ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100 as u64 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mFocusRingOnAnything ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x100 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFocusRingStyle ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200 as u64 ; 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 = 0x200 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDrawImageBackground ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400 as u64 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mDrawImageBackground ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x400 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDrawColorBackground ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800 as u64 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mDrawColorBackground ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x800 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mNeverAnimate ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000 as u64 ; 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 = 0x1000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsRenderingOnlySelection ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000 as u64 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsRenderingOnlySelection ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPaginated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000 as u64 ; 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 = 0x4000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mCanPaginatedScroll ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000 as u64 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mCanPaginatedScroll ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mDoScaledTwips ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000 as u64 ; 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 = 0x10000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 16usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsRootPaginatedDocument ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000 as u64 ; let val = ( unit_field_val & mask ) >> 17usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsRootPaginatedDocument ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x20000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 17usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPrefBidiDirection ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000 as u64 ; let val = ( unit_field_val & mask ) >> 18usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPrefBidiDirection ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x40000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 18usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPrefScrollbarSide ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x180000 as u64 ; let val = ( unit_field_val & mask ) >> 19usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPrefScrollbarSide ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x180000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 19usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingSysColorChanged ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000 as u64 ; let val = ( unit_field_val & mask ) >> 21usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingSysColorChanged ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x200000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 21usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingThemeChanged ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000 as u64 ; let val = ( unit_field_val & mask ) >> 22usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingThemeChanged ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x400000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 22usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingUIResolutionChanged ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800000 as u64 ; let val = ( unit_field_val & mask ) >> 23usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingUIResolutionChanged ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x800000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 23usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingMediaFeatureValuesChanged ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000000 as u64 ; let val = ( unit_field_val & mask ) >> 24usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingMediaFeatureValuesChanged ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 24usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPrefChangePendingNeedsReflow ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000000 as u64 ; let val = ( unit_field_val & mask ) >> 25usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPrefChangePendingNeedsReflow ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 25usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsEmulatingMedia ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000000 as u64 ; 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 = 0x4000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 26usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsGlyph ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000000 as u64 ; 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 = 0x8000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 27usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUsesRootEMUnits ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000000 as u64 ; 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 = 0x10000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 28usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mUsesExChUnits ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000000 as u64 ; 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 = 0x20000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 29usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPendingViewportChange ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000000 as u64 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPendingViewportChange ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x40000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mCounterStylesDirty ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80000000 as u64 ; let val = ( unit_field_val & mask ) >> 31usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mCounterStylesDirty ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x80000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 31usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPostedFlushCounterStyles ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100000000 as u64 ; let val = ( unit_field_val & mask ) >> 32usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPostedFlushCounterStyles ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x100000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 32usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFontFeatureValuesDirty ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000000 as u64 ; let val = ( unit_field_val & mask ) >> 33usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mFontFeatureValuesDirty ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x200000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 33usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPostedFlushFontFeatureValues ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000000 as u64 ; let val = ( unit_field_val & mask ) >> 34usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPostedFlushFontFeatureValues ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x400000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 34usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mSuppressResizeReflow ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x800000000 as u64 ; let val = ( unit_field_val & mask ) >> 35usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mSuppressResizeReflow ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x800000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 35usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsVisual ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x1000000000 as u64 ; let val = ( unit_field_val & mask ) >> 36usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsVisual ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 36usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mFireAfterPaintEvents ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x2000000000 as u64 ; let val = ( unit_field_val & mask ) >> 37usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mFireAfterPaintEvents ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 37usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsChrome ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x4000000000 as u64 ; let val = ( unit_field_val & mask ) >> 38usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsChrome ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 38usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mIsChromeOriginImage ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x8000000000 as u64 ; let val = ( unit_field_val & mask ) >> 39usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mIsChromeOriginImage ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 39usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPaintFlashing ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x10000000000 as u64 ; let val = ( unit_field_val & mask ) >> 40usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPaintFlashing ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x10000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 40usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mPaintFlashingInitialized ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x20000000000 as u64 ; let val = ( unit_field_val & mask ) >> 41usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mPaintFlashingInitialized ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x20000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 41usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasWarnedAboutPositionedTableParts ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x40000000000 as u64 ; let val = ( unit_field_val & mask ) >> 42usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mHasWarnedAboutPositionedTableParts ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x40000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 42usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHasWarnedAboutTooLargeDashedOrDottedRadius ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x80000000000 as u64 ; let val = ( unit_field_val & mask ) >> 43usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mHasWarnedAboutTooLargeDashedOrDottedRadius ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x80000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 43usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mQuirkSheetAdded ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x100000000000 as u64 ; let val = ( unit_field_val & mask ) >> 44usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mQuirkSheetAdded ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x100000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 44usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mNeedsPrefUpdate ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x200000000000 as u64 ; let val = ( unit_field_val & mask ) >> 45usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mNeedsPrefUpdate ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x200000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 45usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ inline ] pub fn mHadNonBlankPaint ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; let mask = 0x400000000000 as u64 ; let val = ( unit_field_val & mask ) >> 46usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_mHadNonBlankPaint ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x400000000000 as u64 ; let val = val as u32 as u64 ; let mut unit_field_val : u64 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u64 as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 46usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u64 > ( ) , ) ; } } # [ 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 , mPendingViewportChange : :: std :: os :: raw :: c_uint , mCounterStylesDirty : :: std :: os :: raw :: c_uint , mPostedFlushCounterStyles : :: std :: os :: raw :: c_uint , mFontFeatureValuesDirty : :: std :: os :: raw :: c_uint , mPostedFlushFontFeatureValues : :: 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 ) -> u64 { ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 0 | ( ( mHasPendingInterrupt as u32 as u64 ) << 0usize ) & ( 0x1 as u64 ) ) | ( ( mPendingInterruptFromTest as u32 as u64 ) << 1usize ) & ( 0x2 as u64 ) ) | ( ( mInterruptsEnabled as u32 as u64 ) << 2usize ) & ( 0x4 as u64 ) ) | ( ( mUseDocumentFonts as u32 as u64 ) << 3usize ) & ( 0x8 as u64 ) ) | ( ( mUseDocumentColors as u32 as u64 ) << 4usize ) & ( 0x10 as u64 ) ) | ( ( mUnderlineLinks as u32 as u64 ) << 5usize ) & ( 0x20 as u64 ) ) | ( ( mSendAfterPaintToContent as u32 as u64 ) << 6usize ) & ( 0x40 as u64 ) ) | ( ( mUseFocusColors as u32 as u64 ) << 7usize ) & ( 0x80 as u64 ) ) | ( ( mFocusRingOnAnything as u32 as u64 ) << 8usize ) & ( 0x100 as u64 ) ) | ( ( mFocusRingStyle as u32 as u64 ) << 9usize ) & ( 0x200 as u64 ) ) | ( ( mDrawImageBackground as u32 as u64 ) << 10usize ) & ( 0x400 as u64 ) ) | ( ( mDrawColorBackground as u32 as u64 ) << 11usize ) & ( 0x800 as u64 ) ) | ( ( mNeverAnimate as u32 as u64 ) << 12usize ) & ( 0x1000 as u64 ) ) | ( ( mIsRenderingOnlySelection as u32 as u64 ) << 13usize ) & ( 0x2000 as u64 ) ) | ( ( mPaginated as u32 as u64 ) << 14usize ) & ( 0x4000 as u64 ) ) | ( ( mCanPaginatedScroll as u32 as u64 ) << 15usize ) & ( 0x8000 as u64 ) ) | ( ( mDoScaledTwips as u32 as u64 ) << 16usize ) & ( 0x10000 as u64 ) ) | ( ( mIsRootPaginatedDocument as u32 as u64 ) << 17usize ) & ( 0x20000 as u64 ) ) | ( ( mPrefBidiDirection as u32 as u64 ) << 18usize ) & ( 0x40000 as u64 ) ) | ( ( mPrefScrollbarSide as u32 as u64 ) << 19usize ) & ( 0x180000 as u64 ) ) | ( ( mPendingSysColorChanged as u32 as u64 ) << 21usize ) & ( 0x200000 as u64 ) ) | ( ( mPendingThemeChanged as u32 as u64 ) << 22usize ) & ( 0x400000 as u64 ) ) | ( ( mPendingUIResolutionChanged as u32 as u64 ) << 23usize ) & ( 0x800000 as u64 ) ) | ( ( mPendingMediaFeatureValuesChanged as u32 as u64 ) << 24usize ) & ( 0x1000000 as u64 ) ) | ( ( mPrefChangePendingNeedsReflow as u32 as u64 ) << 25usize ) & ( 0x2000000 as u64 ) ) | ( ( mIsEmulatingMedia as u32 as u64 ) << 26usize ) & ( 0x4000000 as u64 ) ) | ( ( mIsGlyph as u32 as u64 ) << 27usize ) & ( 0x8000000 as u64 ) ) | ( ( mUsesRootEMUnits as u32 as u64 ) << 28usize ) & ( 0x10000000 as u64 ) ) | ( ( mUsesExChUnits as u32 as u64 ) << 29usize ) & ( 0x20000000 as u64 ) ) | ( ( mPendingViewportChange as u32 as u64 ) << 30usize ) & ( 0x40000000 as u64 ) ) | ( ( mCounterStylesDirty as u32 as u64 ) << 31usize ) & ( 0x80000000 as u64 ) ) | ( ( mPostedFlushCounterStyles as u32 as u64 ) << 32usize ) & ( 0x100000000 as u64 ) ) | ( ( mFontFeatureValuesDirty as u32 as u64 ) << 33usize ) & ( 0x200000000 as u64 ) ) | ( ( mPostedFlushFontFeatureValues as u32 as u64 ) << 34usize ) & ( 0x400000000 as u64 ) ) | ( ( mSuppressResizeReflow as u32 as u64 ) << 35usize ) & ( 0x800000000 as u64 ) ) | ( ( mIsVisual as u32 as u64 ) << 36usize ) & ( 0x1000000000 as u64 ) ) | ( ( mFireAfterPaintEvents as u32 as u64 ) << 37usize ) & ( 0x2000000000 as u64 ) ) | ( ( mIsChrome as u32 as u64 ) << 38usize ) & ( 0x4000000000 as u64 ) ) | ( ( mIsChromeOriginImage as u32 as u64 ) << 39usize ) & ( 0x8000000000 as u64 ) ) | ( ( mPaintFlashing as u32 as u64 ) << 40usize ) & ( 0x10000000000 as u64 ) ) | ( ( mPaintFlashingInitialized as u32 as u64 ) << 41usize ) & ( 0x20000000000 as u64 ) ) | ( ( mHasWarnedAboutPositionedTableParts as u32 as u64 ) << 42usize ) & ( 0x40000000000 as u64 ) ) | ( ( mHasWarnedAboutTooLargeDashedOrDottedRadius as u32 as u64 ) << 43usize ) & ( 0x80000000000 as u64 ) ) | ( ( mQuirkSheetAdded as u32 as u64 ) << 44usize ) & ( 0x100000000000 as u64 ) ) | ( ( mNeedsPrefUpdate as u32 as u64 ) << 45usize ) & ( 0x200000000000 as u64 ) ) | ( ( mHadNonBlankPaint as u32 as u64 ) << 46usize ) & ( 0x400000000000 as u64 ) ) } } # [ repr ( i16 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsCSSKeyword { eCSSKeyword_UNKNOWN = -1 , eCSSKeyword__moz_activehyperlinktext = 0 , eCSSKeyword__moz_all = 1 , eCSSKeyword__moz_alt_content = 2 , eCSSKeyword__moz_available = 3 , eCSSKeyword__moz_box = 4 , eCSSKeyword__moz_button = 5 , eCSSKeyword__moz_buttondefault = 6 , eCSSKeyword__moz_buttonhoverface = 7 , eCSSKeyword__moz_buttonhovertext = 8 , eCSSKeyword__moz_cellhighlight = 9 , eCSSKeyword__moz_cellhighlighttext = 10 , eCSSKeyword__moz_center = 11 , eCSSKeyword__moz_combobox = 12 , eCSSKeyword__moz_comboboxtext = 13 , eCSSKeyword__moz_context_properties = 14 , eCSSKeyword__moz_block_height = 15 , eCSSKeyword__moz_deck = 16 , eCSSKeyword__moz_default_background_color = 17 , eCSSKeyword__moz_default_color = 18 , eCSSKeyword__moz_desktop = 19 , eCSSKeyword__moz_dialog = 20 , eCSSKeyword__moz_dialogtext = 21 , eCSSKeyword__moz_document = 22 , eCSSKeyword__moz_dragtargetzone = 23 , eCSSKeyword__moz_element = 24 , eCSSKeyword__moz_eventreerow = 25 , eCSSKeyword__moz_field = 26 , eCSSKeyword__moz_fieldtext = 27 , eCSSKeyword__moz_fit_content = 28 , eCSSKeyword__moz_fixed = 29 , eCSSKeyword__moz_grabbing = 30 , eCSSKeyword__moz_grab = 31 , eCSSKeyword__moz_grid_group = 32 , eCSSKeyword__moz_grid_line = 33 , eCSSKeyword__moz_grid = 34 , eCSSKeyword__moz_groupbox = 35 , eCSSKeyword__moz_gtk_info_bar = 36 , eCSSKeyword__moz_gtk_info_bar_text = 37 , eCSSKeyword__moz_hidden_unscrollable = 38 , eCSSKeyword__moz_hyperlinktext = 39 , eCSSKeyword__moz_html_cellhighlight = 40 , eCSSKeyword__moz_html_cellhighlighttext = 41 , eCSSKeyword__moz_image_rect = 42 , eCSSKeyword__moz_info = 43 , eCSSKeyword__moz_inline_box = 44 , eCSSKeyword__moz_inline_grid = 45 , eCSSKeyword__moz_inline_stack = 46 , eCSSKeyword__moz_left = 47 , eCSSKeyword__moz_list = 48 , eCSSKeyword__moz_mac_buttonactivetext = 49 , eCSSKeyword__moz_mac_chrome_active = 50 , eCSSKeyword__moz_mac_chrome_inactive = 51 , eCSSKeyword__moz_mac_defaultbuttontext = 52 , eCSSKeyword__moz_mac_focusring = 53 , eCSSKeyword__moz_mac_fullscreen_button = 54 , eCSSKeyword__moz_mac_menuselect = 55 , eCSSKeyword__moz_mac_menushadow = 56 , eCSSKeyword__moz_mac_menutextdisable = 57 , eCSSKeyword__moz_mac_menutextselect = 58 , eCSSKeyword__moz_mac_disabledtoolbartext = 59 , eCSSKeyword__moz_mac_secondaryhighlight = 60 , eCSSKeyword__moz_mac_menuitem = 61 , eCSSKeyword__moz_mac_active_menuitem = 62 , eCSSKeyword__moz_mac_menupopup = 63 , eCSSKeyword__moz_mac_tooltip = 64 , eCSSKeyword__moz_max_content = 65 , eCSSKeyword__moz_menuhover = 66 , eCSSKeyword__moz_menuhovertext = 67 , eCSSKeyword__moz_menubartext = 68 , eCSSKeyword__moz_menubarhovertext = 69 , eCSSKeyword__moz_middle_with_baseline = 70 , eCSSKeyword__moz_min_content = 71 , eCSSKeyword__moz_nativehyperlinktext = 72 , eCSSKeyword__moz_none = 73 , eCSSKeyword__moz_oddtreerow = 74 , eCSSKeyword__moz_popup = 75 , eCSSKeyword__moz_pre_space = 76 , eCSSKeyword__moz_pull_down_menu = 77 , eCSSKeyword__moz_right = 78 , eCSSKeyword__moz_scrollbars_horizontal = 79 , eCSSKeyword__moz_scrollbars_none = 80 , eCSSKeyword__moz_scrollbars_vertical = 81 , eCSSKeyword__moz_stack = 82 , eCSSKeyword__moz_text = 83 , eCSSKeyword__moz_use_system_font = 84 , eCSSKeyword__moz_visitedhyperlinktext = 85 , eCSSKeyword__moz_window = 86 , eCSSKeyword__moz_workspace = 87 , eCSSKeyword__moz_zoom_in = 88 , eCSSKeyword__moz_zoom_out = 89 , eCSSKeyword__webkit_box = 90 , eCSSKeyword__webkit_flex = 91 , eCSSKeyword__webkit_inline_box = 92 , eCSSKeyword__webkit_inline_flex = 93 , eCSSKeyword_absolute = 94 , eCSSKeyword_active = 95 , eCSSKeyword_activeborder = 96 , eCSSKeyword_activecaption = 97 , eCSSKeyword_add = 98 , eCSSKeyword_additive = 99 , eCSSKeyword_alias = 100 , eCSSKeyword_all = 101 , eCSSKeyword_all_petite_caps = 102 , eCSSKeyword_all_scroll = 103 , eCSSKeyword_all_small_caps = 104 , eCSSKeyword_alpha = 105 , eCSSKeyword_alternate = 106 , eCSSKeyword_alternate_reverse = 107 , eCSSKeyword_always = 108 , eCSSKeyword_annotation = 109 , eCSSKeyword_appworkspace = 110 , eCSSKeyword_auto = 111 , eCSSKeyword_auto_fill = 112 , eCSSKeyword_auto_fit = 113 , eCSSKeyword_auto_flow = 114 , eCSSKeyword_avoid = 115 , eCSSKeyword_background = 116 , eCSSKeyword_backwards = 117 , eCSSKeyword_balance = 118 , eCSSKeyword_baseline = 119 , eCSSKeyword_bidi_override = 120 , eCSSKeyword_blink = 121 , eCSSKeyword_block = 122 , eCSSKeyword_block_axis = 123 , eCSSKeyword_blur = 124 , eCSSKeyword_bold = 125 , eCSSKeyword_bold_fraktur = 126 , eCSSKeyword_bold_italic = 127 , eCSSKeyword_bold_sans_serif = 128 , eCSSKeyword_bold_script = 129 , eCSSKeyword_bolder = 130 , eCSSKeyword_border_box = 131 , eCSSKeyword_both = 132 , eCSSKeyword_bottom = 133 , eCSSKeyword_bottom_outside = 134 , eCSSKeyword_break_all = 135 , eCSSKeyword_break_word = 136 , eCSSKeyword_brightness = 137 , eCSSKeyword_browser = 138 , eCSSKeyword_bullets = 139 , eCSSKeyword_button = 140 , eCSSKeyword_buttonface = 141 , eCSSKeyword_buttonhighlight = 142 , eCSSKeyword_buttonshadow = 143 , eCSSKeyword_buttontext = 144 , eCSSKeyword_capitalize = 145 , eCSSKeyword_caption = 146 , eCSSKeyword_captiontext = 147 , eCSSKeyword_cell = 148 , eCSSKeyword_center = 149 , eCSSKeyword_ch = 150 , eCSSKeyword_character_variant = 151 , eCSSKeyword_circle = 152 , eCSSKeyword_cjk_decimal = 153 , eCSSKeyword_clip = 154 , eCSSKeyword_clone = 155 , eCSSKeyword_close_quote = 156 , eCSSKeyword_closest_corner = 157 , eCSSKeyword_closest_side = 158 , eCSSKeyword_cm = 159 , eCSSKeyword_col_resize = 160 , eCSSKeyword_collapse = 161 , eCSSKeyword_color = 162 , eCSSKeyword_color_burn = 163 , eCSSKeyword_color_dodge = 164 , eCSSKeyword_common_ligatures = 165 , eCSSKeyword_column = 166 , eCSSKeyword_column_reverse = 167 , eCSSKeyword_condensed = 168 , eCSSKeyword_contain = 169 , eCSSKeyword_content_box = 170 , eCSSKeyword_contents = 171 , eCSSKeyword_context_fill = 172 , eCSSKeyword_context_fill_opacity = 173 , eCSSKeyword_context_menu = 174 , eCSSKeyword_context_stroke = 175 , eCSSKeyword_context_stroke_opacity = 176 , eCSSKeyword_context_value = 177 , eCSSKeyword_continuous = 178 , eCSSKeyword_contrast = 179 , eCSSKeyword_copy = 180 , eCSSKeyword_contextual = 181 , eCSSKeyword_cover = 182 , eCSSKeyword_crop = 183 , eCSSKeyword_cross = 184 , eCSSKeyword_crosshair = 185 , eCSSKeyword_currentcolor = 186 , eCSSKeyword_cursive = 187 , eCSSKeyword_cyclic = 188 , eCSSKeyword_darken = 189 , eCSSKeyword_dashed = 190 , eCSSKeyword_dense = 191 , eCSSKeyword_decimal = 192 , eCSSKeyword_default = 193 , eCSSKeyword_deg = 194 , eCSSKeyword_diagonal_fractions = 195 , eCSSKeyword_dialog = 196 , eCSSKeyword_difference = 197 , eCSSKeyword_digits = 198 , eCSSKeyword_disabled = 199 , eCSSKeyword_disc = 200 , eCSSKeyword_discretionary_ligatures = 201 , eCSSKeyword_distribute = 202 , eCSSKeyword_dot = 203 , eCSSKeyword_dotted = 204 , eCSSKeyword_double = 205 , eCSSKeyword_double_circle = 206 , eCSSKeyword_double_struck = 207 , eCSSKeyword_drag = 208 , eCSSKeyword_drop_shadow = 209 , eCSSKeyword_e_resize = 210 , eCSSKeyword_ease = 211 , eCSSKeyword_ease_in = 212 , eCSSKeyword_ease_in_out = 213 , eCSSKeyword_ease_out = 214 , eCSSKeyword_economy = 215 , eCSSKeyword_element = 216 , eCSSKeyword_elements = 217 , eCSSKeyword_ellipse = 218 , eCSSKeyword_ellipsis = 219 , eCSSKeyword_em = 220 , eCSSKeyword_embed = 221 , eCSSKeyword_enabled = 222 , eCSSKeyword_end = 223 , eCSSKeyword_ex = 224 , eCSSKeyword_exact = 225 , eCSSKeyword_exclude = 226 , eCSSKeyword_exclusion = 227 , eCSSKeyword_expanded = 228 , eCSSKeyword_extends = 229 , eCSSKeyword_extra_condensed = 230 , eCSSKeyword_extra_expanded = 231 , eCSSKeyword_ew_resize = 232 , eCSSKeyword_fallback = 233 , eCSSKeyword_fantasy = 234 , eCSSKeyword_farthest_side = 235 , eCSSKeyword_farthest_corner = 236 , eCSSKeyword_fill = 237 , eCSSKeyword_filled = 238 , eCSSKeyword_fill_box = 239 , eCSSKeyword_first = 240 , eCSSKeyword_fit_content = 241 , eCSSKeyword_fixed = 242 , eCSSKeyword_flat = 243 , eCSSKeyword_flex = 244 , eCSSKeyword_flex_end = 245 , eCSSKeyword_flex_start = 246 , eCSSKeyword_flip = 247 , eCSSKeyword_flow_root = 248 , eCSSKeyword_forwards = 249 , eCSSKeyword_fraktur = 250 , eCSSKeyword_frames = 251 , eCSSKeyword_from_image = 252 , eCSSKeyword_full_width = 253 , eCSSKeyword_fullscreen = 254 , eCSSKeyword_grab = 255 , eCSSKeyword_grabbing = 256 , eCSSKeyword_grad = 257 , eCSSKeyword_grayscale = 258 , eCSSKeyword_graytext = 259 , eCSSKeyword_grid = 260 , eCSSKeyword_groove = 261 , eCSSKeyword_hard_light = 262 , eCSSKeyword_help = 263 , eCSSKeyword_hidden = 264 , eCSSKeyword_hide = 265 , eCSSKeyword_highlight = 266 , eCSSKeyword_highlighttext = 267 , eCSSKeyword_historical_forms = 268 , eCSSKeyword_historical_ligatures = 269 , eCSSKeyword_horizontal = 270 , eCSSKeyword_horizontal_tb = 271 , eCSSKeyword_hue = 272 , eCSSKeyword_hue_rotate = 273 , eCSSKeyword_hz = 274 , eCSSKeyword_icon = 275 , eCSSKeyword_ignore = 276 , eCSSKeyword_ignore_horizontal = 277 , eCSSKeyword_ignore_vertical = 278 , eCSSKeyword_in = 279 , eCSSKeyword_interlace = 280 , eCSSKeyword_inactive = 281 , eCSSKeyword_inactiveborder = 282 , eCSSKeyword_inactivecaption = 283 , eCSSKeyword_inactivecaptiontext = 284 , eCSSKeyword_infinite = 285 , eCSSKeyword_infobackground = 286 , eCSSKeyword_infotext = 287 , eCSSKeyword_inherit = 288 , eCSSKeyword_initial = 289 , eCSSKeyword_inline = 290 , eCSSKeyword_inline_axis = 291 , eCSSKeyword_inline_block = 292 , eCSSKeyword_inline_end = 293 , eCSSKeyword_inline_flex = 294 , eCSSKeyword_inline_grid = 295 , eCSSKeyword_inline_start = 296 , eCSSKeyword_inline_table = 297 , eCSSKeyword_inset = 298 , eCSSKeyword_inside = 299 , eCSSKeyword_inter_character = 300 , eCSSKeyword_inter_word = 301 , eCSSKeyword_interpolatematrix = 302 , eCSSKeyword_accumulatematrix = 303 , eCSSKeyword_intersect = 304 , eCSSKeyword_isolate = 305 , eCSSKeyword_isolate_override = 306 , eCSSKeyword_invert = 307 , eCSSKeyword_italic = 308 , eCSSKeyword_jis78 = 309 , eCSSKeyword_jis83 = 310 , eCSSKeyword_jis90 = 311 , eCSSKeyword_jis04 = 312 , eCSSKeyword_justify = 313 , eCSSKeyword_keep_all = 314 , eCSSKeyword_khz = 315 , eCSSKeyword_landscape = 316 , eCSSKeyword_large = 317 , eCSSKeyword_larger = 318 , eCSSKeyword_last = 319 , eCSSKeyword_last_baseline = 320 , eCSSKeyword_layout = 321 , eCSSKeyword_left = 322 , eCSSKeyword_legacy = 323 , eCSSKeyword_lighten = 324 , eCSSKeyword_lighter = 325 , eCSSKeyword_line_through = 326 , eCSSKeyword_linear = 327 , eCSSKeyword_lining_nums = 328 , eCSSKeyword_list_item = 329 , eCSSKeyword_local = 330 , eCSSKeyword_logical = 331 , eCSSKeyword_looped = 332 , eCSSKeyword_lowercase = 333 , eCSSKeyword_lr = 334 , eCSSKeyword_lr_tb = 335 , eCSSKeyword_ltr = 336 , eCSSKeyword_luminance = 337 , eCSSKeyword_luminosity = 338 , eCSSKeyword_mandatory = 339 , eCSSKeyword_manipulation = 340 , eCSSKeyword_manual = 341 , eCSSKeyword_margin_box = 342 , eCSSKeyword_markers = 343 , eCSSKeyword_match_parent = 344 , eCSSKeyword_match_source = 345 , eCSSKeyword_matrix = 346 , eCSSKeyword_matrix3d = 347 , eCSSKeyword_max_content = 348 , eCSSKeyword_medium = 349 , eCSSKeyword_menu = 350 , eCSSKeyword_menutext = 351 , eCSSKeyword_message_box = 352 , eCSSKeyword_middle = 353 , eCSSKeyword_min_content = 354 , eCSSKeyword_minmax = 355 , eCSSKeyword_mix = 356 , eCSSKeyword_mixed = 357 , eCSSKeyword_mm = 358 , eCSSKeyword_monospace = 359 , eCSSKeyword_move = 360 , eCSSKeyword_ms = 361 , eCSSKeyword_multiply = 362 , eCSSKeyword_n_resize = 363 , eCSSKeyword_narrower = 364 , eCSSKeyword_ne_resize = 365 , eCSSKeyword_nesw_resize = 366 , eCSSKeyword_no_clip = 367 , eCSSKeyword_no_close_quote = 368 , eCSSKeyword_no_common_ligatures = 369 , eCSSKeyword_no_contextual = 370 , eCSSKeyword_no_discretionary_ligatures = 371 , eCSSKeyword_no_drag = 372 , eCSSKeyword_no_drop = 373 , eCSSKeyword_no_historical_ligatures = 374 , eCSSKeyword_no_open_quote = 375 , eCSSKeyword_no_repeat = 376 , eCSSKeyword_none = 377 , eCSSKeyword_normal = 378 , eCSSKeyword_not_allowed = 379 , eCSSKeyword_nowrap = 380 , eCSSKeyword_numeric = 381 , eCSSKeyword_ns_resize = 382 , eCSSKeyword_nw_resize = 383 , eCSSKeyword_nwse_resize = 384 , eCSSKeyword_oblique = 385 , eCSSKeyword_oldstyle_nums = 386 , eCSSKeyword_opacity = 387 , eCSSKeyword_open = 388 , eCSSKeyword_open_quote = 389 , eCSSKeyword_optional = 390 , eCSSKeyword_ordinal = 391 , eCSSKeyword_ornaments = 392 , eCSSKeyword_outset = 393 , eCSSKeyword_outside = 394 , eCSSKeyword_over = 395 , eCSSKeyword_overlay = 396 , eCSSKeyword_overline = 397 , eCSSKeyword_paint = 398 , eCSSKeyword_padding_box = 399 , eCSSKeyword_painted = 400 , eCSSKeyword_pan_x = 401 , eCSSKeyword_pan_y = 402 , eCSSKeyword_paused = 403 , eCSSKeyword_pc = 404 , eCSSKeyword_perspective = 405 , eCSSKeyword_petite_caps = 406 , eCSSKeyword_physical = 407 , eCSSKeyword_plaintext = 408 , eCSSKeyword_pointer = 409 , eCSSKeyword_polygon = 410 , eCSSKeyword_portrait = 411 , eCSSKeyword_pre = 412 , eCSSKeyword_pre_wrap = 413 , eCSSKeyword_pre_line = 414 , eCSSKeyword_preserve_3d = 415 , eCSSKeyword_progress = 416 , eCSSKeyword_progressive = 417 , eCSSKeyword_proportional_nums = 418 , eCSSKeyword_proportional_width = 419 , eCSSKeyword_proximity = 420 , eCSSKeyword_pt = 421 , eCSSKeyword_px = 422 , eCSSKeyword_rad = 423 , eCSSKeyword_read_only = 424 , eCSSKeyword_read_write = 425 , eCSSKeyword_relative = 426 , eCSSKeyword_repeat = 427 , eCSSKeyword_repeat_x = 428 , eCSSKeyword_repeat_y = 429 , eCSSKeyword_reverse = 430 , eCSSKeyword_ridge = 431 , eCSSKeyword_right = 432 , eCSSKeyword_rl = 433 , eCSSKeyword_rl_tb = 434 , eCSSKeyword_rotate = 435 , eCSSKeyword_rotate3d = 436 , eCSSKeyword_rotatex = 437 , eCSSKeyword_rotatey = 438 , eCSSKeyword_rotatez = 439 , eCSSKeyword_round = 440 , eCSSKeyword_row = 441 , eCSSKeyword_row_resize = 442 , eCSSKeyword_row_reverse = 443 , eCSSKeyword_rtl = 444 , eCSSKeyword_ruby = 445 , eCSSKeyword_ruby_base = 446 , eCSSKeyword_ruby_base_container = 447 , eCSSKeyword_ruby_text = 448 , eCSSKeyword_ruby_text_container = 449 , eCSSKeyword_running = 450 , eCSSKeyword_s = 451 , eCSSKeyword_s_resize = 452 , eCSSKeyword_safe = 453 , eCSSKeyword_saturate = 454 , eCSSKeyword_saturation = 455 , eCSSKeyword_scale = 456 , eCSSKeyword_scale_down = 457 , eCSSKeyword_scale3d = 458 , eCSSKeyword_scalex = 459 , eCSSKeyword_scaley = 460 , eCSSKeyword_scalez = 461 , eCSSKeyword_screen = 462 , eCSSKeyword_script = 463 , eCSSKeyword_scroll = 464 , eCSSKeyword_scrollbar = 465 , eCSSKeyword_scrollbar_small = 466 , eCSSKeyword_scrollbar_horizontal = 467 , eCSSKeyword_scrollbar_vertical = 468 , eCSSKeyword_se_resize = 469 , eCSSKeyword_select_after = 470 , eCSSKeyword_select_all = 471 , eCSSKeyword_select_before = 472 , eCSSKeyword_select_menu = 473 , eCSSKeyword_select_same = 474 , eCSSKeyword_self_end = 475 , eCSSKeyword_self_start = 476 , eCSSKeyword_semi_condensed = 477 , eCSSKeyword_semi_expanded = 478 , eCSSKeyword_separate = 479 , eCSSKeyword_sepia = 480 , eCSSKeyword_serif = 481 , eCSSKeyword_sesame = 482 , eCSSKeyword_show = 483 , eCSSKeyword_sideways = 484 , eCSSKeyword_sideways_lr = 485 , eCSSKeyword_sideways_right = 486 , eCSSKeyword_sideways_rl = 487 , eCSSKeyword_simplified = 488 , eCSSKeyword_skew = 489 , eCSSKeyword_skewx = 490 , eCSSKeyword_skewy = 491 , eCSSKeyword_slashed_zero = 492 , eCSSKeyword_slice = 493 , eCSSKeyword_small = 494 , eCSSKeyword_small_caps = 495 , eCSSKeyword_small_caption = 496 , eCSSKeyword_smaller = 497 , eCSSKeyword_smooth = 498 , eCSSKeyword_soft = 499 , eCSSKeyword_soft_light = 500 , eCSSKeyword_solid = 501 , eCSSKeyword_space_around = 502 , eCSSKeyword_space_between = 503 , eCSSKeyword_space_evenly = 504 , eCSSKeyword_span = 505 , eCSSKeyword_spell_out = 506 , eCSSKeyword_square = 507 , eCSSKeyword_stacked_fractions = 508 , eCSSKeyword_start = 509 , eCSSKeyword_static = 510 , eCSSKeyword_standalone = 511 , eCSSKeyword_status_bar = 512 , eCSSKeyword_step_end = 513 , eCSSKeyword_step_start = 514 , eCSSKeyword_sticky = 515 , eCSSKeyword_stretch = 516 , eCSSKeyword_stretch_to_fit = 517 , eCSSKeyword_stretched = 518 , eCSSKeyword_strict = 519 , eCSSKeyword_stroke = 520 , eCSSKeyword_stroke_box = 521 , eCSSKeyword_style = 522 , eCSSKeyword_styleset = 523 , eCSSKeyword_stylistic = 524 , eCSSKeyword_sub = 525 , eCSSKeyword_subgrid = 526 , eCSSKeyword_subtract = 527 , eCSSKeyword_super = 528 , eCSSKeyword_sw_resize = 529 , eCSSKeyword_swash = 530 , eCSSKeyword_swap = 531 , eCSSKeyword_table = 532 , eCSSKeyword_table_caption = 533 , eCSSKeyword_table_cell = 534 , eCSSKeyword_table_column = 535 , eCSSKeyword_table_column_group = 536 , eCSSKeyword_table_footer_group = 537 , eCSSKeyword_table_header_group = 538 , eCSSKeyword_table_row = 539 , eCSSKeyword_table_row_group = 540 , eCSSKeyword_tabular_nums = 541 , eCSSKeyword_tailed = 542 , eCSSKeyword_tb = 543 , eCSSKeyword_tb_rl = 544 , eCSSKeyword_text = 545 , eCSSKeyword_text_bottom = 546 , eCSSKeyword_text_top = 547 , eCSSKeyword_thick = 548 , eCSSKeyword_thin = 549 , eCSSKeyword_threeddarkshadow = 550 , eCSSKeyword_threedface = 551 , eCSSKeyword_threedhighlight = 552 , eCSSKeyword_threedlightshadow = 553 , eCSSKeyword_threedshadow = 554 , eCSSKeyword_titling_caps = 555 , eCSSKeyword_toggle = 556 , eCSSKeyword_top = 557 , eCSSKeyword_top_outside = 558 , eCSSKeyword_traditional = 559 , eCSSKeyword_translate = 560 , eCSSKeyword_translate3d = 561 , eCSSKeyword_translatex = 562 , eCSSKeyword_translatey = 563 , eCSSKeyword_translatez = 564 , eCSSKeyword_transparent = 565 , eCSSKeyword_triangle = 566 , eCSSKeyword_tri_state = 567 , eCSSKeyword_ultra_condensed = 568 , eCSSKeyword_ultra_expanded = 569 , eCSSKeyword_under = 570 , eCSSKeyword_underline = 571 , eCSSKeyword_unicase = 572 , eCSSKeyword_unsafe = 573 , eCSSKeyword_unset = 574 , eCSSKeyword_uppercase = 575 , eCSSKeyword_upright = 576 , eCSSKeyword_vertical = 577 , eCSSKeyword_vertical_lr = 578 , eCSSKeyword_vertical_rl = 579 , eCSSKeyword_vertical_text = 580 , eCSSKeyword_view_box = 581 , eCSSKeyword_visible = 582 , eCSSKeyword_visiblefill = 583 , eCSSKeyword_visiblepainted = 584 , eCSSKeyword_visiblestroke = 585 , eCSSKeyword_w_resize = 586 , eCSSKeyword_wait = 587 , eCSSKeyword_wavy = 588 , eCSSKeyword_weight = 589 , eCSSKeyword_wider = 590 , eCSSKeyword_window = 591 , eCSSKeyword_windowframe = 592 , eCSSKeyword_windowtext = 593 , eCSSKeyword_words = 594 , eCSSKeyword_wrap = 595 , eCSSKeyword_wrap_reverse = 596 , eCSSKeyword_write_only = 597 , eCSSKeyword_x_large = 598 , eCSSKeyword_x_small = 599 , eCSSKeyword_xx_large = 600 , eCSSKeyword_xx_small = 601 , eCSSKeyword_zoom_in = 602 , eCSSKeyword_zoom_out = 603 , eCSSKeyword_radio = 604 , eCSSKeyword_checkbox = 605 , eCSSKeyword_button_bevel = 606 , eCSSKeyword_toolbox = 607 , eCSSKeyword_toolbar = 608 , eCSSKeyword_toolbarbutton = 609 , eCSSKeyword_toolbargripper = 610 , eCSSKeyword_dualbutton = 611 , eCSSKeyword_toolbarbutton_dropdown = 612 , eCSSKeyword_button_arrow_up = 613 , eCSSKeyword_button_arrow_down = 614 , eCSSKeyword_button_arrow_next = 615 , eCSSKeyword_button_arrow_previous = 616 , eCSSKeyword_separator = 617 , eCSSKeyword_splitter = 618 , eCSSKeyword_statusbar = 619 , eCSSKeyword_statusbarpanel = 620 , eCSSKeyword_resizerpanel = 621 , eCSSKeyword_resizer = 622 , eCSSKeyword_listbox = 623 , eCSSKeyword_listitem = 624 , eCSSKeyword_numbers = 625 , eCSSKeyword_number_input = 626 , eCSSKeyword_treeview = 627 , eCSSKeyword_treeitem = 628 , eCSSKeyword_treetwisty = 629 , eCSSKeyword_treetwistyopen = 630 , eCSSKeyword_treeline = 631 , eCSSKeyword_treeheader = 632 , eCSSKeyword_treeheadercell = 633 , eCSSKeyword_treeheadersortarrow = 634 , eCSSKeyword_progressbar = 635 , eCSSKeyword_progressbar_vertical = 636 , eCSSKeyword_progresschunk = 637 , eCSSKeyword_progresschunk_vertical = 638 , eCSSKeyword_tab = 639 , eCSSKeyword_tabpanels = 640 , eCSSKeyword_tabpanel = 641 , eCSSKeyword_tab_scroll_arrow_back = 642 , eCSSKeyword_tab_scroll_arrow_forward = 643 , eCSSKeyword_tooltip = 644 , eCSSKeyword_spinner = 645 , eCSSKeyword_spinner_upbutton = 646 , eCSSKeyword_spinner_downbutton = 647 , eCSSKeyword_spinner_textfield = 648 , eCSSKeyword_scrollbarbutton_up = 649 , eCSSKeyword_scrollbarbutton_down = 650 , eCSSKeyword_scrollbarbutton_left = 651 , eCSSKeyword_scrollbarbutton_right = 652 , eCSSKeyword_scrollbartrack_horizontal = 653 , eCSSKeyword_scrollbartrack_vertical = 654 , eCSSKeyword_scrollbarthumb_horizontal = 655 , eCSSKeyword_scrollbarthumb_vertical = 656 , eCSSKeyword_sheet = 657 , eCSSKeyword_textfield = 658 , eCSSKeyword_textfield_multiline = 659 , eCSSKeyword_caret = 660 , eCSSKeyword_searchfield = 661 , eCSSKeyword_menubar = 662 , eCSSKeyword_menupopup = 663 , eCSSKeyword_menuitem = 664 , eCSSKeyword_checkmenuitem = 665 , eCSSKeyword_radiomenuitem = 666 , eCSSKeyword_menucheckbox = 667 , eCSSKeyword_menuradio = 668 , eCSSKeyword_menuseparator = 669 , eCSSKeyword_menuarrow = 670 , eCSSKeyword_menuimage = 671 , eCSSKeyword_menuitemtext = 672 , eCSSKeyword_menulist = 673 , eCSSKeyword_menulist_button = 674 , eCSSKeyword_menulist_text = 675 , eCSSKeyword_menulist_textfield = 676 , eCSSKeyword_meterbar = 677 , eCSSKeyword_meterchunk = 678 , eCSSKeyword_minimal_ui = 679 , eCSSKeyword_range = 680 , eCSSKeyword_range_thumb = 681 , eCSSKeyword_sans_serif = 682 , eCSSKeyword_sans_serif_bold_italic = 683 , eCSSKeyword_sans_serif_italic = 684 , eCSSKeyword_scale_horizontal = 685 , eCSSKeyword_scale_vertical = 686 , eCSSKeyword_scalethumb_horizontal = 687 , eCSSKeyword_scalethumb_vertical = 688 , eCSSKeyword_scalethumbstart = 689 , eCSSKeyword_scalethumbend = 690 , eCSSKeyword_scalethumbtick = 691 , eCSSKeyword_groupbox = 692 , eCSSKeyword_checkbox_container = 693 , eCSSKeyword_radio_container = 694 , eCSSKeyword_checkbox_label = 695 , eCSSKeyword_radio_label = 696 , eCSSKeyword_button_focus = 697 , eCSSKeyword__moz_win_media_toolbox = 698 , eCSSKeyword__moz_win_communications_toolbox = 699 , eCSSKeyword__moz_win_browsertabbar_toolbox = 700 , eCSSKeyword__moz_win_accentcolor = 701 , eCSSKeyword__moz_win_accentcolortext = 702 , eCSSKeyword__moz_win_mediatext = 703 , eCSSKeyword__moz_win_communicationstext = 704 , eCSSKeyword__moz_win_glass = 705 , eCSSKeyword__moz_win_borderless_glass = 706 , eCSSKeyword__moz_window_titlebar = 707 , eCSSKeyword__moz_window_titlebar_maximized = 708 , eCSSKeyword__moz_window_frame_left = 709 , eCSSKeyword__moz_window_frame_right = 710 , eCSSKeyword__moz_window_frame_bottom = 711 , eCSSKeyword__moz_window_button_close = 712 , eCSSKeyword__moz_window_button_minimize = 713 , eCSSKeyword__moz_window_button_maximize = 714 , eCSSKeyword__moz_window_button_restore = 715 , eCSSKeyword__moz_window_button_box = 716 , eCSSKeyword__moz_window_button_box_maximized = 717 , eCSSKeyword__moz_mac_help_button = 718 , eCSSKeyword__moz_win_exclude_glass = 719 , eCSSKeyword__moz_mac_vibrancy_light = 720 , eCSSKeyword__moz_mac_vibrancy_dark = 721 , eCSSKeyword__moz_mac_vibrant_titlebar_light = 722 , eCSSKeyword__moz_mac_vibrant_titlebar_dark = 723 , eCSSKeyword__moz_mac_disclosure_button_closed = 724 , eCSSKeyword__moz_mac_disclosure_button_open = 725 , eCSSKeyword__moz_mac_source_list = 726 , eCSSKeyword__moz_mac_source_list_selection = 727 , eCSSKeyword__moz_mac_active_source_list_selection = 728 , eCSSKeyword_alphabetic = 729 , eCSSKeyword_bevel = 730 , eCSSKeyword_butt = 731 , eCSSKeyword_central = 732 , eCSSKeyword_crispedges = 733 , eCSSKeyword_evenodd = 734 , eCSSKeyword_geometricprecision = 735 , eCSSKeyword_hanging = 736 , eCSSKeyword_ideographic = 737 , eCSSKeyword_linearrgb = 738 , eCSSKeyword_mathematical = 739 , eCSSKeyword_miter = 740 , eCSSKeyword_no_change = 741 , eCSSKeyword_non_scaling_stroke = 742 , eCSSKeyword_nonzero = 743 , eCSSKeyword_optimizelegibility = 744 , eCSSKeyword_optimizequality = 745 , eCSSKeyword_optimizespeed = 746 , eCSSKeyword_reset_size = 747 , eCSSKeyword_srgb = 748 , eCSSKeyword_symbolic = 749 , eCSSKeyword_symbols = 750 , eCSSKeyword_text_after_edge = 751 , eCSSKeyword_text_before_edge = 752 , eCSSKeyword_use_script = 753 , eCSSKeyword__moz_crisp_edges = 754 , eCSSKeyword_space = 755 , eCSSKeyword_COUNT = 756 , } pub const nsStyleStructID_nsStyleStructID_None : root :: nsStyleStructID = -1 ; pub const nsStyleStructID_nsStyleStructID_Inherited_Start : root :: nsStyleStructID = 0 ; pub const nsStyleStructID_nsStyleStructID_DUMMY1 : root :: nsStyleStructID = -1 ; pub const nsStyleStructID_eStyleStruct_Font : root :: nsStyleStructID = 0 ; pub const nsStyleStructID_eStyleStruct_Color : root :: nsStyleStructID = 1 ; pub const nsStyleStructID_eStyleStruct_List : root :: nsStyleStructID = 2 ; pub const nsStyleStructID_eStyleStruct_Text : root :: nsStyleStructID = 3 ; pub const nsStyleStructID_eStyleStruct_Visibility : root :: nsStyleStructID = 4 ; pub const nsStyleStructID_eStyleStruct_UserInterface : root :: nsStyleStructID = 5 ; pub const nsStyleStructID_eStyleStruct_TableBorder : root :: nsStyleStructID = 6 ; pub const nsStyleStructID_eStyleStruct_SVG : root :: nsStyleStructID = 7 ; pub const nsStyleStructID_eStyleStruct_Variables : root :: nsStyleStructID = 8 ; pub const nsStyleStructID_nsStyleStructID_Reset_Start : root :: nsStyleStructID = 9 ; pub const nsStyleStructID_nsStyleStructID_DUMMY2 : root :: nsStyleStructID = 8 ; pub const nsStyleStructID_eStyleStruct_Background : root :: nsStyleStructID = 9 ; pub const nsStyleStructID_eStyleStruct_Position : root :: nsStyleStructID = 10 ; pub const nsStyleStructID_eStyleStruct_TextReset : root :: nsStyleStructID = 11 ; pub const nsStyleStructID_eStyleStruct_Display : root :: nsStyleStructID = 12 ; pub const nsStyleStructID_eStyleStruct_Content : root :: nsStyleStructID = 13 ; pub const nsStyleStructID_eStyleStruct_UIReset : root :: nsStyleStructID = 14 ; pub const nsStyleStructID_eStyleStruct_Table : root :: nsStyleStructID = 15 ; pub const nsStyleStructID_eStyleStruct_Margin : root :: nsStyleStructID = 16 ; pub const nsStyleStructID_eStyleStruct_Padding : root :: nsStyleStructID = 17 ; pub const nsStyleStructID_eStyleStruct_Border : root :: nsStyleStructID = 18 ; pub const nsStyleStructID_eStyleStruct_Outline : root :: nsStyleStructID = 19 ; pub const nsStyleStructID_eStyleStruct_XUL : root :: nsStyleStructID = 20 ; pub const nsStyleStructID_eStyleStruct_SVGReset : root :: nsStyleStructID = 21 ; pub const nsStyleStructID_eStyleStruct_Column : root :: nsStyleStructID = 22 ; pub const nsStyleStructID_eStyleStruct_Effects : root :: nsStyleStructID = 23 ; pub const nsStyleStructID_nsStyleStructID_Length : root :: nsStyleStructID = 24 ; pub const nsStyleStructID_nsStyleStructID_Inherited_Count : root :: nsStyleStructID = 9 ; pub const nsStyleStructID_nsStyleStructID_Reset_Count : root :: nsStyleStructID = 15 ; pub type nsStyleStructID = :: std :: os :: raw :: c_int ; pub const nsStyleAnimType_eStyleAnimType_Custom : root :: nsStyleAnimType = 0 ; pub const nsStyleAnimType_eStyleAnimType_Coord : root :: nsStyleAnimType = 1 ; pub const nsStyleAnimType_eStyleAnimType_Sides_Top : root :: nsStyleAnimType = 2 ; pub const nsStyleAnimType_eStyleAnimType_Sides_Right : root :: nsStyleAnimType = 3 ; pub const nsStyleAnimType_eStyleAnimType_Sides_Bottom : root :: nsStyleAnimType = 4 ; pub const nsStyleAnimType_eStyleAnimType_Sides_Left : root :: nsStyleAnimType = 5 ; pub const nsStyleAnimType_eStyleAnimType_Corner_TopLeft : root :: nsStyleAnimType = 6 ; pub const nsStyleAnimType_eStyleAnimType_Corner_TopRight : root :: nsStyleAnimType = 7 ; pub const nsStyleAnimType_eStyleAnimType_Corner_BottomRight : root :: nsStyleAnimType = 8 ; pub const nsStyleAnimType_eStyleAnimType_Corner_BottomLeft : root :: nsStyleAnimType = 9 ; pub const nsStyleAnimType_eStyleAnimType_nscoord : root :: nsStyleAnimType = 10 ; pub const nsStyleAnimType_eStyleAnimType_float : root :: nsStyleAnimType = 11 ; pub const nsStyleAnimType_eStyleAnimType_Color : root :: nsStyleAnimType = 12 ; pub const nsStyleAnimType_eStyleAnimType_ComplexColor : root :: nsStyleAnimType = 13 ; pub const nsStyleAnimType_eStyleAnimType_PaintServer : root :: nsStyleAnimType = 14 ; pub const nsStyleAnimType_eStyleAnimType_Shadow : root :: nsStyleAnimType = 15 ; pub const nsStyleAnimType_eStyleAnimType_Discrete : root :: nsStyleAnimType = 16 ; pub const nsStyleAnimType_eStyleAnimType_None : root :: nsStyleAnimType = 17 ; pub type nsStyleAnimType = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsCSSProps { pub _address : u8 , } pub use self :: super :: root :: mozilla :: CSSEnabledState as nsCSSProps_EnabledState ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsCSSProps_KTableEntry { pub mKeyword : root :: nsCSSKeyword , pub mValue : i16 , } # [ test ] fn bindgen_test_layout_nsCSSProps_KTableEntry ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSProps_KTableEntry > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nsCSSProps_KTableEntry ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSProps_KTableEntry > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( nsCSSProps_KTableEntry ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSProps_KTableEntry ) ) . mKeyword as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSProps_KTableEntry ) , "::" , stringify ! ( mKeyword ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSProps_KTableEntry ) ) . mValue as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSProps_KTableEntry ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for nsCSSProps_KTableEntry { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps9kSIDTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps9kSIDTableE" ] pub static mut nsCSSProps_kSIDTable : [ root :: nsStyleStructID ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kKeywordTableTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kKeywordTableTableE" ] pub static mut nsCSSProps_kKeywordTableTable : [ * const root :: nsCSSProps_KTableEntry ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps14kAnimTypeTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps14kAnimTypeTableE" ] pub static mut nsCSSProps_kAnimTypeTable : [ root :: nsStyleAnimType ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps23kStyleStructOffsetTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps23kStyleStructOffsetTableE" ] pub static mut nsCSSProps_kStyleStructOffsetTable : [ isize ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps11kFlagsTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps11kFlagsTableE" ] pub static mut nsCSSProps_kFlagsTable : [ u32 ; 374usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kParserVariantTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kParserVariantTableE" ] pub static mut nsCSSProps_kParserVariantTable : [ u32 ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kSubpropertyTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kSubpropertyTableE" ] pub static mut nsCSSProps_kSubpropertyTable : [ * const root :: nsCSSPropertyID ; 49usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps26gShorthandsContainingTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps26gShorthandsContainingTableE" ] pub static mut nsCSSProps_gShorthandsContainingTable : [ * mut root :: nsCSSPropertyID ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25gShorthandsContainingPoolE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25gShorthandsContainingPoolE" ] pub static mut nsCSSProps_gShorthandsContainingPool : * mut root :: nsCSSPropertyID ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps22gPropertyCountInStructE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps22gPropertyCountInStructE" ] pub static mut nsCSSProps_gPropertyCountInStruct : [ usize ; 24usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps22gPropertyIndexInStructE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps22gPropertyIndexInStructE" ] pub static mut nsCSSProps_gPropertyIndexInStruct : [ usize ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kLogicalGroupTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kLogicalGroupTableE" ] pub static mut nsCSSProps_kLogicalGroupTable : [ * const root :: nsCSSPropertyID ; 9usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16gPropertyEnabledE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16gPropertyEnabledE" ] pub static mut nsCSSProps_gPropertyEnabled : [ bool ; 482usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps13kIDLNameTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps13kIDLNameTableE" ] pub static mut nsCSSProps_kIDLNameTable : [ * const :: std :: os :: raw :: c_char ; 374usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kIDLNameSortPositionTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kIDLNameSortPositionTableE" ] pub static mut nsCSSProps_kIDLNameSortPositionTable : [ i32 ; 374usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19gPropertyUseCounterE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19gPropertyUseCounterE" ] pub static mut nsCSSProps_gPropertyUseCounter : [ root :: mozilla :: UseCounter ; 325usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kAnimationDirectionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kAnimationDirectionKTableE" ] pub static mut nsCSSProps_kAnimationDirectionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps24kAnimationFillModeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps24kAnimationFillModeKTableE" ] pub static mut nsCSSProps_kAnimationFillModeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps30kAnimationIterationCountKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps30kAnimationIterationCountKTableE" ] pub static mut nsCSSProps_kAnimationIterationCountKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kAnimationPlayStateKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kAnimationPlayStateKTableE" ] pub static mut nsCSSProps_kAnimationPlayStateKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps30kAnimationTimingFunctionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps30kAnimationTimingFunctionKTableE" ] pub static mut nsCSSProps_kAnimationTimingFunctionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kAppearanceKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kAppearanceKTableE" ] pub static mut nsCSSProps_kAppearanceKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps14kAzimuthKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps14kAzimuthKTableE" ] pub static mut nsCSSProps_kAzimuthKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kBackfaceVisibilityKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kBackfaceVisibilityKTableE" ] pub static mut nsCSSProps_kBackfaceVisibilityKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kTransformStyleKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kTransformStyleKTableE" ] pub static mut nsCSSProps_kTransformStyleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps27kImageLayerAttachmentKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps27kImageLayerAttachmentKTableE" ] pub static mut nsCSSProps_kImageLayerAttachmentKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps23kBackgroundOriginKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps23kBackgroundOriginKTableE" ] pub static mut nsCSSProps_kBackgroundOriginKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kMaskOriginKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kMaskOriginKTableE" ] pub static mut nsCSSProps_kMaskOriginKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kImageLayerPositionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kImageLayerPositionKTableE" ] pub static mut nsCSSProps_kImageLayerPositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps23kImageLayerRepeatKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps23kImageLayerRepeatKTableE" ] pub static mut nsCSSProps_kImageLayerRepeatKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps27kImageLayerRepeatPartKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps27kImageLayerRepeatPartKTableE" ] pub static mut nsCSSProps_kImageLayerRepeatPartKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kImageLayerSizeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kImageLayerSizeKTableE" ] pub static mut nsCSSProps_kImageLayerSizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps26kImageLayerCompositeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps26kImageLayerCompositeKTableE" ] pub static mut nsCSSProps_kImageLayerCompositeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kImageLayerModeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kImageLayerModeKTableE" ] pub static mut nsCSSProps_kImageLayerModeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kBackgroundClipKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kBackgroundClipKTableE" ] pub static mut nsCSSProps_kBackgroundClipKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps15kMaskClipKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps15kMaskClipKTableE" ] pub static mut nsCSSProps_kMaskClipKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kBlendModeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kBlendModeKTableE" ] pub static mut nsCSSProps_kBlendModeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kBorderCollapseKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kBorderCollapseKTableE" ] pub static mut nsCSSProps_kBorderCollapseKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps24kBorderImageRepeatKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps24kBorderImageRepeatKTableE" ] pub static mut nsCSSProps_kBorderImageRepeatKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps23kBorderImageSliceKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps23kBorderImageSliceKTableE" ] pub static mut nsCSSProps_kBorderImageSliceKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kBorderStyleKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kBorderStyleKTableE" ] pub static mut nsCSSProps_kBorderStyleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kBorderWidthKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kBorderWidthKTableE" ] pub static mut nsCSSProps_kBorderWidthKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps15kBoxAlignKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps15kBoxAlignKTableE" ] pub static mut nsCSSProps_kBoxAlignKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kBoxDecorationBreakKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kBoxDecorationBreakKTableE" ] pub static mut nsCSSProps_kBoxDecorationBreakKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kBoxDirectionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kBoxDirectionKTableE" ] pub static mut nsCSSProps_kBoxDirectionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kBoxOrientKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kBoxOrientKTableE" ] pub static mut nsCSSProps_kBoxOrientKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps14kBoxPackKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps14kBoxPackKTableE" ] pub static mut nsCSSProps_kBoxPackKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps26kClipPathGeometryBoxKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps26kClipPathGeometryBoxKTableE" ] pub static mut nsCSSProps_kClipPathGeometryBoxKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kCounterRangeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kCounterRangeKTableE" ] pub static mut nsCSSProps_kCounterRangeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kCounterSpeakAsKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kCounterSpeakAsKTableE" ] pub static mut nsCSSProps_kCounterSpeakAsKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps27kCounterSymbolsSystemKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps27kCounterSymbolsSystemKTableE" ] pub static mut nsCSSProps_kCounterSymbolsSystemKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kCounterSystemKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kCounterSystemKTableE" ] pub static mut nsCSSProps_kCounterSystemKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps23kDominantBaselineKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps23kDominantBaselineKTableE" ] pub static mut nsCSSProps_kDominantBaselineKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kShapeRadiusKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kShapeRadiusKTableE" ] pub static mut nsCSSProps_kShapeRadiusKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps15kFillRuleKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps15kFillRuleKTableE" ] pub static mut nsCSSProps_kFillRuleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kFilterFunctionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kFilterFunctionKTableE" ] pub static mut nsCSSProps_kFilterFunctionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kImageRenderingKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kImageRenderingKTableE" ] pub static mut nsCSSProps_kImageRenderingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps27kShapeOutsideShapeBoxKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps27kShapeOutsideShapeBoxKTableE" ] pub static mut nsCSSProps_kShapeOutsideShapeBoxKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kShapeRenderingKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kShapeRenderingKTableE" ] pub static mut nsCSSProps_kShapeRenderingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kStrokeLinecapKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kStrokeLinecapKTableE" ] pub static mut nsCSSProps_kStrokeLinecapKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kStrokeLinejoinKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kStrokeLinejoinKTableE" ] pub static mut nsCSSProps_kStrokeLinejoinKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kStrokeContextValueKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kStrokeContextValueKTableE" ] pub static mut nsCSSProps_kStrokeContextValueKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kVectorEffectKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kVectorEffectKTableE" ] pub static mut nsCSSProps_kVectorEffectKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kTextAnchorKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kTextAnchorKTableE" ] pub static mut nsCSSProps_kTextAnchorKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kTextRenderingKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kTextRenderingKTableE" ] pub static mut nsCSSProps_kTextRenderingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kColorAdjustKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kColorAdjustKTableE" ] pub static mut nsCSSProps_kColorAdjustKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kColorInterpolationKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kColorInterpolationKTableE" ] pub static mut nsCSSProps_kColorInterpolationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kColumnFillKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kColumnFillKTableE" ] pub static mut nsCSSProps_kColumnFillKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kColumnSpanKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kColumnSpanKTableE" ] pub static mut nsCSSProps_kColumnSpanKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kBoxPropSourceKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kBoxPropSourceKTableE" ] pub static mut nsCSSProps_kBoxPropSourceKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kBoxShadowTypeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kBoxShadowTypeKTableE" ] pub static mut nsCSSProps_kBoxShadowTypeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kBoxSizingKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kBoxSizingKTableE" ] pub static mut nsCSSProps_kBoxSizingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kCaptionSideKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kCaptionSideKTableE" ] pub static mut nsCSSProps_kCaptionSideKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps12kClearKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps12kClearKTableE" ] pub static mut nsCSSProps_kClearKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps12kColorKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps12kColorKTableE" ] pub static mut nsCSSProps_kColorKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps14kContentKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps14kContentKTableE" ] pub static mut nsCSSProps_kContentKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps33kControlCharacterVisibilityKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps33kControlCharacterVisibilityKTableE" ] pub static mut nsCSSProps_kControlCharacterVisibilityKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps13kCursorKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps13kCursorKTableE" ] pub static mut nsCSSProps_kCursorKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kDirectionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kDirectionKTableE" ] pub static mut nsCSSProps_kDirectionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps14kDisplayKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps14kDisplayKTableE" ] pub static mut nsCSSProps_kDisplayKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kElevationKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kElevationKTableE" ] pub static mut nsCSSProps_kElevationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kEmptyCellsKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kEmptyCellsKTableE" ] pub static mut nsCSSProps_kEmptyCellsKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kAlignAllKeywordsE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kAlignAllKeywordsE" ] pub static mut nsCSSProps_kAlignAllKeywords : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps22kAlignOverflowPositionE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps22kAlignOverflowPositionE" ] pub static mut nsCSSProps_kAlignOverflowPosition : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kAlignSelfPositionE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kAlignSelfPositionE" ] pub static mut nsCSSProps_kAlignSelfPosition : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps12kAlignLegacyE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps12kAlignLegacyE" ] pub static mut nsCSSProps_kAlignLegacy : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kAlignLegacyPositionE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kAlignLegacyPositionE" ] pub static mut nsCSSProps_kAlignLegacyPosition : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps31kAlignAutoNormalStretchBaselineE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps31kAlignAutoNormalStretchBaselineE" ] pub static mut nsCSSProps_kAlignAutoNormalStretchBaseline : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps27kAlignNormalStretchBaselineE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps27kAlignNormalStretchBaselineE" ] pub static mut nsCSSProps_kAlignNormalStretchBaseline : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kAlignNormalBaselineE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kAlignNormalBaselineE" ] pub static mut nsCSSProps_kAlignNormalBaseline : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kAlignContentDistributionE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kAlignContentDistributionE" ] pub static mut nsCSSProps_kAlignContentDistribution : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kAlignContentPositionE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kAlignContentPositionE" ] pub static mut nsCSSProps_kAlignContentPosition : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps31kAutoCompletionAlignJustifySelfE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps31kAutoCompletionAlignJustifySelfE" ] pub static mut nsCSSProps_kAutoCompletionAlignJustifySelf : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kAutoCompletionAlignItemsE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kAutoCompletionAlignItemsE" ] pub static mut nsCSSProps_kAutoCompletionAlignItems : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps34kAutoCompletionAlignJustifyContentE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps34kAutoCompletionAlignJustifyContentE" ] pub static mut nsCSSProps_kAutoCompletionAlignJustifyContent : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kFlexDirectionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kFlexDirectionKTableE" ] pub static mut nsCSSProps_kFlexDirectionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps15kFlexWrapKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps15kFlexWrapKTableE" ] pub static mut nsCSSProps_kFlexWrapKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps12kFloatKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps12kFloatKTableE" ] pub static mut nsCSSProps_kFloatKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kFloatEdgeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kFloatEdgeKTableE" ] pub static mut nsCSSProps_kFloatEdgeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kFontDisplayKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kFontDisplayKTableE" ] pub static mut nsCSSProps_kFontDisplayKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps11kFontKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps11kFontKTableE" ] pub static mut nsCSSProps_kFontKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kFontKerningKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kFontKerningKTableE" ] pub static mut nsCSSProps_kFontKerningKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps15kFontSizeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps15kFontSizeKTableE" ] pub static mut nsCSSProps_kFontSizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kFontSmoothingKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kFontSmoothingKTableE" ] pub static mut nsCSSProps_kFontSmoothingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kFontStretchKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kFontStretchKTableE" ] pub static mut nsCSSProps_kFontStretchKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kFontStyleKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kFontStyleKTableE" ] pub static mut nsCSSProps_kFontStyleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kFontSynthesisKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kFontSynthesisKTableE" ] pub static mut nsCSSProps_kFontSynthesisKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kFontVariantKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kFontVariantKTableE" ] pub static mut nsCSSProps_kFontVariantKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps28kFontVariantAlternatesKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps28kFontVariantAlternatesKTableE" ] pub static mut nsCSSProps_kFontVariantAlternatesKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps33kFontVariantAlternatesFuncsKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps33kFontVariantAlternatesFuncsKTableE" ] pub static mut nsCSSProps_kFontVariantAlternatesFuncsKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps22kFontVariantCapsKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps22kFontVariantCapsKTableE" ] pub static mut nsCSSProps_kFontVariantCapsKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps27kFontVariantEastAsianKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps27kFontVariantEastAsianKTableE" ] pub static mut nsCSSProps_kFontVariantEastAsianKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps27kFontVariantLigaturesKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps27kFontVariantLigaturesKTableE" ] pub static mut nsCSSProps_kFontVariantLigaturesKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kFontVariantNumericKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kFontVariantNumericKTableE" ] pub static mut nsCSSProps_kFontVariantNumericKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps26kFontVariantPositionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps26kFontVariantPositionKTableE" ] pub static mut nsCSSProps_kFontVariantPositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kFontWeightKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kFontWeightKTableE" ] pub static mut nsCSSProps_kFontWeightKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kGridAutoFlowKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kGridAutoFlowKTableE" ] pub static mut nsCSSProps_kGridAutoFlowKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps23kGridTrackBreadthKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps23kGridTrackBreadthKTableE" ] pub static mut nsCSSProps_kGridTrackBreadthKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps14kHyphensKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps14kHyphensKTableE" ] pub static mut nsCSSProps_kHyphensKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps23kImageOrientationKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps23kImageOrientationKTableE" ] pub static mut nsCSSProps_kImageOrientationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps27kImageOrientationFlipKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps27kImageOrientationFlipKTableE" ] pub static mut nsCSSProps_kImageOrientationFlipKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kIsolationKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kIsolationKTableE" ] pub static mut nsCSSProps_kIsolationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps14kIMEModeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps14kIMEModeKTableE" ] pub static mut nsCSSProps_kIMEModeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kLineHeightKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kLineHeightKTableE" ] pub static mut nsCSSProps_kLineHeightKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps24kListStylePositionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps24kListStylePositionKTableE" ] pub static mut nsCSSProps_kListStylePositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps15kMaskTypeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps15kMaskTypeKTableE" ] pub static mut nsCSSProps_kMaskTypeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kMathVariantKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kMathVariantKTableE" ] pub static mut nsCSSProps_kMathVariantKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kMathDisplayKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kMathDisplayKTableE" ] pub static mut nsCSSProps_kMathDisplayKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps14kContainKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps14kContainKTableE" ] pub static mut nsCSSProps_kContainKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kContextOpacityKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kContextOpacityKTableE" ] pub static mut nsCSSProps_kContextOpacityKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kContextPatternKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kContextPatternKTableE" ] pub static mut nsCSSProps_kContextPatternKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kObjectFitKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kObjectFitKTableE" ] pub static mut nsCSSProps_kObjectFitKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps13kOrientKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps13kOrientKTableE" ] pub static mut nsCSSProps_kOrientKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kOutlineStyleKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kOutlineStyleKTableE" ] pub static mut nsCSSProps_kOutlineStyleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps15kOverflowKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps15kOverflowKTableE" ] pub static mut nsCSSProps_kOverflowKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kOverflowSubKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kOverflowSubKTableE" ] pub static mut nsCSSProps_kOverflowSubKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps22kOverflowClipBoxKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps22kOverflowClipBoxKTableE" ] pub static mut nsCSSProps_kOverflowClipBoxKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kOverflowWrapKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kOverflowWrapKTableE" ] pub static mut nsCSSProps_kOverflowWrapKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kPageBreakKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kPageBreakKTableE" ] pub static mut nsCSSProps_kPageBreakKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps22kPageBreakInsideKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps22kPageBreakInsideKTableE" ] pub static mut nsCSSProps_kPageBreakInsideKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kPageMarksKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kPageMarksKTableE" ] pub static mut nsCSSProps_kPageMarksKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps15kPageSizeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps15kPageSizeKTableE" ] pub static mut nsCSSProps_kPageSizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps12kPitchKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps12kPitchKTableE" ] pub static mut nsCSSProps_kPitchKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kPointerEventsKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kPointerEventsKTableE" ] pub static mut nsCSSProps_kPointerEventsKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps15kPositionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps15kPositionKTableE" ] pub static mut nsCSSProps_kPositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps26kRadialGradientShapeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps26kRadialGradientShapeKTableE" ] pub static mut nsCSSProps_kRadialGradientShapeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kRadialGradientSizeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kRadialGradientSizeKTableE" ] pub static mut nsCSSProps_kRadialGradientSizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps31kRadialGradientLegacySizeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps31kRadialGradientLegacySizeKTableE" ] pub static mut nsCSSProps_kRadialGradientLegacySizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps13kResizeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps13kResizeKTableE" ] pub static mut nsCSSProps_kResizeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kRubyAlignKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kRubyAlignKTableE" ] pub static mut nsCSSProps_kRubyAlignKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kRubyPositionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kRubyPositionKTableE" ] pub static mut nsCSSProps_kRubyPositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kScrollBehaviorKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kScrollBehaviorKTableE" ] pub static mut nsCSSProps_kScrollBehaviorKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kOverscrollBehaviorKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kOverscrollBehaviorKTableE" ] pub static mut nsCSSProps_kOverscrollBehaviorKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kScrollSnapTypeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kScrollSnapTypeKTableE" ] pub static mut nsCSSProps_kScrollSnapTypeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps12kSpeakKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps12kSpeakKTableE" ] pub static mut nsCSSProps_kSpeakKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kSpeakHeaderKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kSpeakHeaderKTableE" ] pub static mut nsCSSProps_kSpeakHeaderKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kSpeakNumeralKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kSpeakNumeralKTableE" ] pub static mut nsCSSProps_kSpeakNumeralKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps23kSpeakPunctuationKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps23kSpeakPunctuationKTableE" ] pub static mut nsCSSProps_kSpeakPunctuationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kSpeechRateKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kSpeechRateKTableE" ] pub static mut nsCSSProps_kSpeechRateKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kStackSizingKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kStackSizingKTableE" ] pub static mut nsCSSProps_kStackSizingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kTableLayoutKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kTableLayoutKTableE" ] pub static mut nsCSSProps_kTableLayoutKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kTextAlignKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kTextAlignKTableE" ] pub static mut nsCSSProps_kTextAlignKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kTextAlignLastKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kTextAlignLastKTableE" ] pub static mut nsCSSProps_kTextAlignLastKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kTextCombineUprightKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kTextCombineUprightKTableE" ] pub static mut nsCSSProps_kTextCombineUprightKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps25kTextDecorationLineKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps25kTextDecorationLineKTableE" ] pub static mut nsCSSProps_kTextDecorationLineKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps26kTextDecorationStyleKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps26kTextDecorationStyleKTableE" ] pub static mut nsCSSProps_kTextDecorationStyleKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps27kTextEmphasisPositionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps27kTextEmphasisPositionKTableE" ] pub static mut nsCSSProps_kTextEmphasisPositionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps28kTextEmphasisStyleFillKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps28kTextEmphasisStyleFillKTableE" ] pub static mut nsCSSProps_kTextEmphasisStyleFillKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps29kTextEmphasisStyleShapeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps29kTextEmphasisStyleShapeKTableE" ] pub static mut nsCSSProps_kTextEmphasisStyleShapeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kTextJustifyKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kTextJustifyKTableE" ] pub static mut nsCSSProps_kTextJustifyKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps22kTextOrientationKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps22kTextOrientationKTableE" ] pub static mut nsCSSProps_kTextOrientationKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kTextOverflowKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kTextOverflowKTableE" ] pub static mut nsCSSProps_kTextOverflowKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kTextSizeAdjustKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kTextSizeAdjustKTableE" ] pub static mut nsCSSProps_kTextSizeAdjustKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kTextTransformKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kTextTransformKTableE" ] pub static mut nsCSSProps_kTextTransformKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kTouchActionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kTouchActionKTableE" ] pub static mut nsCSSProps_kTouchActionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps15kTopLayerKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps15kTopLayerKTableE" ] pub static mut nsCSSProps_kTopLayerKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kTransformBoxKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kTransformBoxKTableE" ] pub static mut nsCSSProps_kTransformBoxKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps31kTransitionTimingFunctionKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps31kTransitionTimingFunctionKTableE" ] pub static mut nsCSSProps_kTransitionTimingFunctionKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kUnicodeBidiKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kUnicodeBidiKTableE" ] pub static mut nsCSSProps_kUnicodeBidiKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kUserFocusKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kUserFocusKTableE" ] pub static mut nsCSSProps_kUserFocusKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kUserInputKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kUserInputKTableE" ] pub static mut nsCSSProps_kUserInputKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kUserModifyKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kUserModifyKTableE" ] pub static mut nsCSSProps_kUserModifyKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kUserSelectKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kUserSelectKTableE" ] pub static mut nsCSSProps_kUserSelectKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps20kVerticalAlignKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps20kVerticalAlignKTableE" ] pub static mut nsCSSProps_kVerticalAlignKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kVisibilityKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kVisibilityKTableE" ] pub static mut nsCSSProps_kVisibilityKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps13kVolumeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps13kVolumeKTableE" ] pub static mut nsCSSProps_kVolumeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps17kWhitespaceKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps17kWhitespaceKTableE" ] pub static mut nsCSSProps_kWhitespaceKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps12kWidthKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps12kWidthKTableE" ] pub static mut nsCSSProps_kWidthKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps21kWindowDraggingKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps21kWindowDraggingKTableE" ] pub static mut nsCSSProps_kWindowDraggingKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps19kWindowShadowKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps19kWindowShadowKTableE" ] pub static mut nsCSSProps_kWindowShadowKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps16kWordBreakKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps16kWordBreakKTableE" ] pub static mut nsCSSProps_kWordBreakKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN10nsCSSProps18kWritingModeKTableE" ] + # [ link_name = "\u{1}_ZN10nsCSSProps18kWritingModeKTableE" ] pub static mut nsCSSProps_kWritingModeKTable : [ root :: nsCSSProps_KTableEntry ; 0usize ] ; } # [ test ] fn bindgen_test_layout_nsCSSProps ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSProps > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsCSSProps ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSProps > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsCSSProps ) ) ) ; } impl Clone for nsCSSProps { fn clone ( & self ) -> Self { * self } } /// Class to safely handle main-thread-only pointers off the main thread. @@ -1489,7 +1486,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// All structs and classes that might be accessed on other threads should store /// an nsMainThreadPtrHandle rather than an nsCOMPtr. # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsMainThreadPtrHolder < T > { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mRawPtr : * mut T , pub mStrict : bool , pub mMainThreadEventTarget : root :: nsCOMPtr , pub mName : * const :: std :: os :: raw :: c_char , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } pub type nsMainThreadPtrHolder_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsMainThreadPtrHandle < T > { pub mPtr : root :: RefPtr < root :: nsMainThreadPtrHolder < T > > , pub _phantom_0 : :: std :: marker :: PhantomData < :: std :: cell :: UnsafeCell < T > > , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsCSSUnit { eCSSUnit_Null = 0 , eCSSUnit_Auto = 1 , eCSSUnit_Inherit = 2 , eCSSUnit_Initial = 3 , eCSSUnit_Unset = 4 , eCSSUnit_None = 5 , eCSSUnit_Normal = 6 , eCSSUnit_System_Font = 7 , eCSSUnit_All = 8 , eCSSUnit_Dummy = 9 , eCSSUnit_DummyInherit = 10 , eCSSUnit_String = 11 , eCSSUnit_Ident = 12 , eCSSUnit_Attr = 14 , eCSSUnit_Local_Font = 15 , eCSSUnit_Font_Format = 16 , eCSSUnit_Element = 17 , eCSSUnit_Array = 20 , eCSSUnit_Counter = 21 , eCSSUnit_Counters = 22 , eCSSUnit_Cubic_Bezier = 23 , eCSSUnit_Steps = 24 , eCSSUnit_Symbols = 25 , eCSSUnit_Function = 26 , eCSSUnit_Calc = 30 , eCSSUnit_Calc_Plus = 31 , eCSSUnit_Calc_Minus = 32 , eCSSUnit_Calc_Times_L = 33 , eCSSUnit_Calc_Times_R = 34 , eCSSUnit_Calc_Divided = 35 , eCSSUnit_URL = 40 , eCSSUnit_Image = 41 , eCSSUnit_Gradient = 42 , eCSSUnit_TokenStream = 43 , eCSSUnit_GridTemplateAreas = 44 , eCSSUnit_Pair = 50 , eCSSUnit_Triplet = 51 , eCSSUnit_Rect = 52 , eCSSUnit_List = 53 , eCSSUnit_ListDep = 54 , eCSSUnit_SharedList = 55 , eCSSUnit_PairList = 56 , eCSSUnit_PairListDep = 57 , eCSSUnit_FontFamilyList = 58 , eCSSUnit_AtomIdent = 60 , eCSSUnit_Integer = 70 , eCSSUnit_Enumerated = 71 , eCSSUnit_EnumColor = 80 , eCSSUnit_RGBColor = 81 , eCSSUnit_RGBAColor = 82 , eCSSUnit_HexColor = 83 , eCSSUnit_ShortHexColor = 84 , eCSSUnit_HexColorAlpha = 85 , eCSSUnit_ShortHexColorAlpha = 86 , eCSSUnit_PercentageRGBColor = 87 , eCSSUnit_PercentageRGBAColor = 88 , eCSSUnit_HSLColor = 89 , eCSSUnit_HSLAColor = 90 , eCSSUnit_ComplexColor = 91 , eCSSUnit_Percent = 100 , eCSSUnit_Number = 101 , eCSSUnit_ViewportWidth = 700 , eCSSUnit_ViewportHeight = 701 , eCSSUnit_ViewportMin = 702 , eCSSUnit_ViewportMax = 703 , eCSSUnit_EM = 800 , eCSSUnit_XHeight = 801 , eCSSUnit_Char = 802 , eCSSUnit_RootEM = 803 , eCSSUnit_Point = 900 , eCSSUnit_Inch = 901 , eCSSUnit_Millimeter = 902 , eCSSUnit_Centimeter = 903 , eCSSUnit_Pica = 904 , eCSSUnit_Quarter = 905 , eCSSUnit_Pixel = 906 , eCSSUnit_Degree = 1000 , eCSSUnit_Grad = 1001 , eCSSUnit_Radian = 1002 , eCSSUnit_Turn = 1003 , eCSSUnit_Hertz = 2000 , eCSSUnit_Kilohertz = 2001 , eCSSUnit_Seconds = 3000 , eCSSUnit_Milliseconds = 3001 , eCSSUnit_FlexFraction = 4000 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValue { pub mUnit : root :: nsCSSUnit , pub mValue : root :: nsCSSValue__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsCSSValue__bindgen_ty_1 { pub mInt : root :: __BindgenUnionField < i32 > , pub mFloat : root :: __BindgenUnionField < f32 > , pub mString : root :: __BindgenUnionField < * mut root :: nsStringBuffer > , pub mColor : root :: __BindgenUnionField < root :: nscolor > , pub mAtom : root :: __BindgenUnionField < * mut root :: nsAtom > , pub mArray : root :: __BindgenUnionField < * mut root :: nsCSSValue_Array > , pub mURL : root :: __BindgenUnionField < * mut root :: mozilla :: css :: URLValue > , pub mImage : root :: __BindgenUnionField < * mut root :: mozilla :: css :: ImageValue > , pub mGridTemplateAreas : root :: __BindgenUnionField < * mut root :: mozilla :: css :: GridTemplateAreasValue > , pub mGradient : root :: __BindgenUnionField < * mut root :: nsCSSValueGradient > , pub mTokenStream : root :: __BindgenUnionField < * mut root :: nsCSSValueTokenStream > , pub mPair : root :: __BindgenUnionField < * mut root :: nsCSSValuePair_heap > , pub mRect : root :: __BindgenUnionField < * mut root :: nsCSSRect_heap > , pub mTriplet : root :: __BindgenUnionField < * mut root :: nsCSSValueTriplet_heap > , pub mList : root :: __BindgenUnionField < * mut root :: nsCSSValueList_heap > , pub mListDependent : root :: __BindgenUnionField < * mut root :: nsCSSValueList > , pub mSharedList : root :: __BindgenUnionField < * mut root :: nsCSSValueSharedList > , pub mPairList : root :: __BindgenUnionField < * mut root :: nsCSSValuePairList_heap > , pub mPairListDependent : root :: __BindgenUnionField < * mut root :: nsCSSValuePairList > , pub mFloatColor : root :: __BindgenUnionField < * mut root :: nsCSSValueFloatColor > , pub mFontFamilyList : root :: __BindgenUnionField < * mut root :: mozilla :: SharedFontList > , pub mComplexColor : root :: __BindgenUnionField < * mut root :: mozilla :: css :: ComplexColorValue > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsCSSValue__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValue__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValue__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValue__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mInt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mInt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mFloat as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mAtom as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mAtom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mArray as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mArray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mURL as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mURL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mGridTemplateAreas as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mGridTemplateAreas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mGradient as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mGradient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mTokenStream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mTokenStream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mPair as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mPair ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mRect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mRect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mTriplet as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mTriplet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mListDependent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mListDependent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mSharedList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mSharedList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mPairList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mPairList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mPairListDependent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mPairListDependent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mFloatColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mFloatColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mFontFamilyList as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mFontFamilyList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mComplexColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mComplexColor ) ) ) ; } impl Clone for nsCSSValue__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsCSSValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValue > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsCSSValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue ) ) . mUnit as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue ) , "::" , stringify ! ( mUnit ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValue_Array { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mCount : usize , pub mArray : [ root :: nsCSSValue ; 1usize ] , } pub type nsCSSValue_Array_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsCSSValue_Array ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValue_Array > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsCSSValue_Array ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValue_Array > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValue_Array ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue_Array ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue_Array ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue_Array ) ) . mCount as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue_Array ) , "::" , stringify ! ( mCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValue_Array ) ) . mArray as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValue_Array ) , "::" , stringify ! ( mArray ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueList { pub mValue : root :: nsCSSValue , pub mNext : * mut root :: nsCSSValueList , } # [ test ] fn bindgen_test_layout_nsCSSValueList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueList > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueList ) ) . mValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueList ) , "::" , stringify ! ( mValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueList ) ) . mNext as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueList ) , "::" , stringify ! ( mNext ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueList_heap { pub _base : root :: nsCSSValueList , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSValueList_heap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValueList_heap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueList_heap > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueList_heap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueList_heap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueList_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueList_heap ) ) . mRefCnt as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueList_heap ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueSharedList { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mHead : * mut root :: nsCSSValueList , } pub type nsCSSValueSharedList_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsCSSValueSharedList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueSharedList > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueSharedList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueSharedList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueSharedList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueSharedList ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueSharedList ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueSharedList ) ) . mHead as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueSharedList ) , "::" , stringify ! ( mHead ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSRect { pub mTop : root :: nsCSSValue , pub mRight : root :: nsCSSValue , pub mBottom : root :: nsCSSValue , pub mLeft : root :: nsCSSValue , } pub type nsCSSRect_side_type = * mut root :: nsCSSValue ; extern "C" { - # [ link_name = "\u{1}__ZN9nsCSSRect5sidesE" ] + # [ link_name = "\u{1}_ZN9nsCSSRect5sidesE" ] pub static mut nsCSSRect_sides : [ root :: nsCSSRect_side_type ; 4usize ] ; } # [ test ] fn bindgen_test_layout_nsCSSRect ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSRect > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( nsCSSRect ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSRect > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSRect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSRect ) ) . mTop as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" , stringify ! ( mTop ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSRect ) ) . mRight as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" , stringify ! ( mRight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSRect ) ) . mBottom as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" , stringify ! ( mBottom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSRect ) ) . mLeft as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" , stringify ! ( mLeft ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSRect_heap { pub _base : root :: nsCSSRect , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSRect_heap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSRect_heap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSRect_heap > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( nsCSSRect_heap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSRect_heap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSRect_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSRect_heap ) ) . mRefCnt as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSRect_heap ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValuePair { pub mXValue : root :: nsCSSValue , pub mYValue : root :: nsCSSValue , } # [ test ] fn bindgen_test_layout_nsCSSValuePair ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValuePair > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsCSSValuePair ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValuePair > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValuePair ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePair ) ) . mXValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePair ) , "::" , stringify ! ( mXValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePair ) ) . mYValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePair ) , "::" , stringify ! ( mYValue ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValuePair_heap { pub _base : root :: nsCSSValuePair , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSValuePair_heap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValuePair_heap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValuePair_heap > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsCSSValuePair_heap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValuePair_heap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValuePair_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePair_heap ) ) . mRefCnt as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePair_heap ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueTriplet { pub mXValue : root :: nsCSSValue , pub mYValue : root :: nsCSSValue , pub mZValue : root :: nsCSSValue , } # [ test ] fn bindgen_test_layout_nsCSSValueTriplet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueTriplet > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueTriplet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueTriplet > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueTriplet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTriplet ) ) . mXValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) , "::" , stringify ! ( mXValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTriplet ) ) . mYValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) , "::" , stringify ! ( mYValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTriplet ) ) . mZValue as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) , "::" , stringify ! ( mZValue ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueTriplet_heap { pub _base : root :: nsCSSValueTriplet , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSValueTriplet_heap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValueTriplet_heap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueTriplet_heap > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueTriplet_heap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueTriplet_heap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueTriplet_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTriplet_heap ) ) . mRefCnt as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTriplet_heap ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValuePairList { pub mXValue : root :: nsCSSValue , pub mYValue : root :: nsCSSValue , pub mNext : * mut root :: nsCSSValuePairList , } # [ test ] fn bindgen_test_layout_nsCSSValuePairList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValuePairList > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsCSSValuePairList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValuePairList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValuePairList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePairList ) ) . mXValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePairList ) , "::" , stringify ! ( mXValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePairList ) ) . mYValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePairList ) , "::" , stringify ! ( mYValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePairList ) ) . mNext as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePairList ) , "::" , stringify ! ( mNext ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValuePairList_heap { pub _base : root :: nsCSSValuePairList , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSValuePairList_heap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValuePairList_heap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValuePairList_heap > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsCSSValuePairList_heap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValuePairList_heap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValuePairList_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValuePairList_heap ) ) . mRefCnt as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValuePairList_heap ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueGradientStop { pub mLocation : root :: nsCSSValue , pub mColor : root :: nsCSSValue , pub mIsInterpolationHint : bool , } # [ test ] fn bindgen_test_layout_nsCSSValueGradientStop ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueGradientStop > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueGradientStop ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueGradientStop > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueGradientStop ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradientStop ) ) . mLocation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradientStop ) , "::" , stringify ! ( mLocation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradientStop ) ) . mColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradientStop ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradientStop ) ) . mIsInterpolationHint as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradientStop ) , "::" , stringify ! ( mIsInterpolationHint ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueGradient { pub mIsRadial : bool , pub mIsRepeating : bool , pub mIsLegacySyntax : bool , pub mIsMozLegacySyntax : bool , pub mIsExplicitSize : bool , pub mBgPos : root :: nsCSSValuePair , pub mAngle : root :: nsCSSValue , pub mRadialValues : [ root :: nsCSSValue ; 2usize ] , pub mStops : root :: nsTArray < root :: nsCSSValueGradientStop > , pub mRefCnt : root :: nsAutoRefCnt , } pub type nsCSSValueGradient_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValueGradient ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueGradient > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueGradient ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueGradient > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueGradient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsRadial as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mIsRadial ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsRepeating as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mIsRepeating ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsLegacySyntax as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mIsLegacySyntax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsMozLegacySyntax as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mIsMozLegacySyntax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsExplicitSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mIsExplicitSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mBgPos as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mBgPos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mAngle as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mAngle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mRadialValues as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mRadialValues ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mStops as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mStops ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueGradient ) ) . mRefCnt as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueGradient ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] pub struct nsCSSValueTokenStream { pub mRefCnt : root :: nsAutoRefCnt , pub mPropertyID : root :: nsCSSPropertyID , pub mShorthandPropertyID : root :: nsCSSPropertyID , pub mTokenStream : ::nsstring::nsStringRepr , pub mBaseURI : root :: nsCOMPtr , pub mSheetURI : root :: nsCOMPtr , pub mSheetPrincipal : root :: nsCOMPtr , pub mLineNumber : u32 , pub mLineOffset : u32 , pub mLevel : root :: mozilla :: SheetType , } pub type nsCSSValueTokenStream_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValueTokenStream ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueTokenStream > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueTokenStream ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueTokenStream > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueTokenStream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mPropertyID as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mPropertyID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mShorthandPropertyID as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mShorthandPropertyID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mTokenStream as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mTokenStream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mBaseURI as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mBaseURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mSheetURI as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mSheetURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mSheetPrincipal as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mSheetPrincipal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mLineNumber as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mLineNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mLineOffset as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mLineOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mLevel as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueTokenStream ) , "::" , stringify ! ( mLevel ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSValueFloatColor { pub mRefCnt : root :: nsAutoRefCnt , pub mComponent1 : f32 , pub mComponent2 : f32 , pub mComponent3 : f32 , pub mAlpha : f32 , } pub type nsCSSValueFloatColor_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ test ] fn bindgen_test_layout_nsCSSValueFloatColor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSValueFloatColor > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsCSSValueFloatColor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSValueFloatColor > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSValueFloatColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueFloatColor ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mComponent1 as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mComponent2 as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mComponent3 as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mAlpha as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSValueFloatColor ) , "::" , stringify ! ( mAlpha ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct imgIContainer { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct imgIRequest { pub _base : root :: nsIRequest , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct imgIRequest_COMTypeInfo { pub _address : u8 , } pub const imgIRequest_STATUS_NONE : root :: imgIRequest__bindgen_ty_1 = 0 ; pub const imgIRequest_STATUS_SIZE_AVAILABLE : root :: imgIRequest__bindgen_ty_1 = 1 ; pub const imgIRequest_STATUS_LOAD_COMPLETE : root :: imgIRequest__bindgen_ty_1 = 2 ; pub const imgIRequest_STATUS_ERROR : root :: imgIRequest__bindgen_ty_1 = 4 ; pub const imgIRequest_STATUS_FRAME_COMPLETE : root :: imgIRequest__bindgen_ty_1 = 8 ; pub const imgIRequest_STATUS_DECODE_COMPLETE : root :: imgIRequest__bindgen_ty_1 = 16 ; pub const imgIRequest_STATUS_IS_ANIMATED : root :: imgIRequest__bindgen_ty_1 = 32 ; pub const imgIRequest_STATUS_HAS_TRANSPARENCY : root :: imgIRequest__bindgen_ty_1 = 64 ; pub type imgIRequest__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; pub const imgIRequest_CORS_NONE : root :: imgIRequest__bindgen_ty_2 = 1 ; pub const imgIRequest_CORS_ANONYMOUS : root :: imgIRequest__bindgen_ty_2 = 2 ; pub const imgIRequest_CORS_USE_CREDENTIALS : root :: imgIRequest__bindgen_ty_2 = 3 ; pub type imgIRequest__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const imgIRequest_CATEGORY_FRAME_INIT : root :: imgIRequest__bindgen_ty_3 = 1 ; pub const imgIRequest_CATEGORY_SIZE_QUERY : root :: imgIRequest__bindgen_ty_3 = 2 ; pub const imgIRequest_CATEGORY_DISPLAY : root :: imgIRequest__bindgen_ty_3 = 4 ; pub type imgIRequest__bindgen_ty_3 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_imgIRequest ( ) { assert_eq ! ( :: std :: mem :: size_of :: < imgIRequest > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( imgIRequest ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < imgIRequest > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( imgIRequest ) ) ) ; } impl Clone for imgIRequest { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsISecurityInfoProvider { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsISecurityInfoProvider_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsISecurityInfoProvider ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsISecurityInfoProvider > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsISecurityInfoProvider ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsISecurityInfoProvider > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsISecurityInfoProvider ) ) ) ; } impl Clone for nsISecurityInfoProvider { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsISupportsPriority { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsISupportsPriority_COMTypeInfo { pub _address : u8 , } pub const nsISupportsPriority_PRIORITY_HIGHEST : root :: nsISupportsPriority__bindgen_ty_1 = -20 ; pub const nsISupportsPriority_PRIORITY_HIGH : root :: nsISupportsPriority__bindgen_ty_1 = -10 ; pub const nsISupportsPriority_PRIORITY_NORMAL : root :: nsISupportsPriority__bindgen_ty_1 = 0 ; pub const nsISupportsPriority_PRIORITY_LOW : root :: nsISupportsPriority__bindgen_ty_1 = 10 ; pub const nsISupportsPriority_PRIORITY_LOWEST : root :: nsISupportsPriority__bindgen_ty_1 = 20 ; pub type nsISupportsPriority__bindgen_ty_1 = :: std :: os :: raw :: c_int ; # [ test ] fn bindgen_test_layout_nsISupportsPriority ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsISupportsPriority > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsISupportsPriority ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsISupportsPriority > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsISupportsPriority ) ) ) ; } impl Clone for nsISupportsPriority { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsITimedChannel { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsITimedChannel_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsITimedChannel ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsITimedChannel > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsITimedChannel ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsITimedChannel > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsITimedChannel ) ) ) ; } impl Clone for nsITimedChannel { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ProxyBehaviour { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct imgRequestProxy { pub _base : root :: imgIRequest , pub _base_1 : root :: mozilla :: image :: IProgressObserver , pub _base_2 : root :: nsISupportsPriority , pub _base_3 : root :: nsISecurityInfoProvider , pub _base_4 : root :: nsITimedChannel , pub mRefCnt : root :: nsAutoRefCnt , pub mBehaviour : root :: mozilla :: UniquePtr < root :: ProxyBehaviour > , pub mURI : root :: RefPtr < root :: imgRequestProxy_ImageURL > , pub mListener : * mut root :: imgINotificationObserver , pub mLoadGroup : root :: nsCOMPtr , pub mTabGroup : root :: RefPtr < root :: mozilla :: dom :: TabGroup > , pub mEventTarget : root :: nsCOMPtr , pub mLoadFlags : root :: nsLoadFlags , pub mLockCount : u32 , pub mAnimationConsumers : u32 , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 3usize ] , } pub type imgRequestProxy_Image = root :: mozilla :: image :: Image ; pub type imgRequestProxy_ImageURL = root :: mozilla :: image :: ImageURL ; pub type imgRequestProxy_ProgressTracker = root :: mozilla :: image :: ProgressTracker ; pub type imgRequestProxy_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct imgRequestProxy_imgCancelRunnable { pub _base : root :: mozilla :: Runnable , pub mOwner : root :: RefPtr < root :: imgRequestProxy > , pub mStatus : root :: nsresult , } # [ test ] fn bindgen_test_layout_imgRequestProxy_imgCancelRunnable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < imgRequestProxy_imgCancelRunnable > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( imgRequestProxy_imgCancelRunnable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < imgRequestProxy_imgCancelRunnable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( imgRequestProxy_imgCancelRunnable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const imgRequestProxy_imgCancelRunnable ) ) . mOwner as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( imgRequestProxy_imgCancelRunnable ) , "::" , stringify ! ( mOwner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const imgRequestProxy_imgCancelRunnable ) ) . mStatus as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( imgRequestProxy_imgCancelRunnable ) , "::" , stringify ! ( mStatus ) ) ) ; } # [ test ] fn bindgen_test_layout_imgRequestProxy ( ) { assert_eq ! ( :: std :: mem :: size_of :: < imgRequestProxy > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( imgRequestProxy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < imgRequestProxy > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( imgRequestProxy ) ) ) ; } impl imgRequestProxy { # [ inline ] pub fn mCanceled ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mCanceled ( & mut self , val : bool ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsInLoadGroup ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mIsInLoadGroup ( & mut self , val : bool ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mForceDispatchLoadGroup ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mForceDispatchLoadGroup ( & mut self , val : bool ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mListenerIsStrongRef ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mListenerIsStrongRef ( & mut self , val : bool ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mDecodeRequested ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDecodeRequested ( & mut self , val : bool ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mDeferNotifications ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mDeferNotifications ( & mut self , val : bool ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mHadListener ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x40 as u8 ; let val = ( unit_field_val & mask ) >> 6usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHadListener ( & mut self , val : bool ) { let mask = 0x40 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 6usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mHadDispatch ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x80 as u8 ; let val = ( unit_field_val & mask ) >> 7usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mHadDispatch ( & mut self , val : bool ) { let mask = 0x80 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 7usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mCanceled : bool , mIsInLoadGroup : bool , mForceDispatchLoadGroup : bool , mListenerIsStrongRef : bool , mDecodeRequested : bool , mDeferNotifications : bool , mHadListener : bool , mHadDispatch : bool ) -> u8 { ( ( ( ( ( ( ( ( 0 | ( ( mCanceled as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mIsInLoadGroup as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( mForceDispatchLoadGroup as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( mListenerIsStrongRef as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( mDecodeRequested as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( mDeferNotifications as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) | ( ( mHadListener as u8 as u8 ) << 6usize ) & ( 0x40 as u8 ) ) | ( ( mHadDispatch as u8 as u8 ) << 7usize ) & ( 0x80 as u8 ) ) } } # [ repr ( C ) ] pub struct nsStyleFont { pub mFont : root :: nsFont , pub mSize : root :: nscoord , pub mFontSizeFactor : f32 , pub mFontSizeOffset : root :: nscoord , pub mFontSizeKeyword : u8 , pub mGenericID : u8 , pub mScriptLevel : i8 , pub mMathVariant : u8 , pub mMathDisplay : u8 , pub mMinFontSizeRatio : u8 , pub mExplicitLanguage : bool , pub mAllowZoom : bool , pub mScriptUnconstrainedSize : root :: nscoord , pub mScriptMinSize : root :: nscoord , pub mScriptSizeMultiplier : f32 , pub mLanguage : root :: RefPtr < root :: nsAtom > , } pub const nsStyleFont_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleFont ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleFont > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( nsStyleFont ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleFont > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleFont ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mFont as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mFont ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mSize as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mFontSizeFactor as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mFontSizeFactor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mFontSizeOffset as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mFontSizeOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mFontSizeKeyword as * const _ as usize } , 108usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mFontSizeKeyword ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mGenericID as * const _ as usize } , 109usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mGenericID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mScriptLevel as * const _ as usize } , 110usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mScriptLevel ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mMathVariant as * const _ as usize } , 111usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mMathVariant ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mMathDisplay as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mMathDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mMinFontSizeRatio as * const _ as usize } , 113usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mMinFontSizeRatio ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mExplicitLanguage as * const _ as usize } , 114usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mExplicitLanguage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mAllowZoom as * const _ as usize } , 115usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mAllowZoom ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mScriptUnconstrainedSize as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mScriptUnconstrainedSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mScriptMinSize as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mScriptMinSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mScriptSizeMultiplier as * const _ as usize } , 124usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mScriptSizeMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFont ) ) . mLanguage as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFont ) , "::" , stringify ! ( mLanguage ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleGradientStop { pub mLocation : root :: nsStyleCoord , pub mColor : root :: nscolor , pub mIsInterpolationHint : bool , } # [ test ] fn bindgen_test_layout_nsStyleGradientStop ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGradientStop > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleGradientStop ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGradientStop > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGradientStop ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradientStop ) ) . mLocation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradientStop ) , "::" , stringify ! ( mLocation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradientStop ) ) . mColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradientStop ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradientStop ) ) . mIsInterpolationHint as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradientStop ) , "::" , stringify ! ( mIsInterpolationHint ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleGradient { pub mShape : u8 , pub mSize : u8 , pub mRepeating : bool , pub mLegacySyntax : bool , pub mMozLegacySyntax : bool , pub mBgPosX : root :: nsStyleCoord , pub mBgPosY : root :: nsStyleCoord , pub mAngle : root :: nsStyleCoord , pub mRadiusX : root :: nsStyleCoord , pub mRadiusY : root :: nsStyleCoord , pub mStops : root :: nsTArray < root :: nsStyleGradientStop > , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , } pub type nsStyleGradient_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsStyleGradient ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGradient > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( nsStyleGradient ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGradient > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGradient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mShape as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mShape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mSize as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mRepeating as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mRepeating ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mLegacySyntax as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mLegacySyntax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mMozLegacySyntax as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mMozLegacySyntax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mBgPosX as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mBgPosX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mBgPosY as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mBgPosY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mAngle as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mAngle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mRadiusX as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mRadiusX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mRadiusY as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mRadiusY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mStops as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mStops ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGradient ) ) . mRefCnt as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGradient ) , "::" , stringify ! ( mRefCnt ) ) ) ; } /// A wrapper for an imgRequestProxy that supports off-main-thread creation @@ -1529,22 +1526,22 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// region of an image. (Currently, this feature is only supported with an /// image of type (1)). # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleImage { pub mCachedBIData : root :: mozilla :: UniquePtr < root :: CachedBorderImageData > , pub mType : root :: nsStyleImageType , pub __bindgen_anon_1 : root :: nsStyleImage__bindgen_ty_1 , pub mCropRect : root :: mozilla :: UniquePtr < root :: nsStyleSides > , } pub type nsStyleImage_URLValue = root :: mozilla :: css :: URLValue ; pub type nsStyleImage_URLValueData = root :: mozilla :: css :: URLValueData ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImage__bindgen_ty_1 { pub mImage : root :: __BindgenUnionField < * mut root :: nsStyleImageRequest > , pub mGradient : root :: __BindgenUnionField < * mut root :: nsStyleGradient > , pub mURLValue : root :: __BindgenUnionField < * mut root :: nsStyleImage_URLValue > , pub mElementId : root :: __BindgenUnionField < * mut root :: nsAtom > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleImage__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImage__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImage__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImage__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . mGradient as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( mGradient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . mURLValue as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( mURLValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . mElementId as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( mElementId ) ) ) ; } impl Clone for nsStyleImage__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleImage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImage > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsStyleImage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage ) ) . mCachedBIData as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage ) , "::" , stringify ! ( mCachedBIData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage ) ) . mType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImage ) ) . mCropRect as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImage ) , "::" , stringify ! ( mCropRect ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleColor { pub mColor : root :: nscolor , } pub const nsStyleColor_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleColor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleColor > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nsStyleColor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleColor > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColor ) ) . mColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColor ) , "::" , stringify ! ( mColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleImageLayers { pub mAttachmentCount : u32 , pub mClipCount : u32 , pub mOriginCount : u32 , pub mRepeatCount : u32 , pub mPositionXCount : u32 , pub mPositionYCount : u32 , pub mImageCount : u32 , pub mSizeCount : u32 , pub mMaskModeCount : u32 , pub mBlendModeCount : u32 , pub mCompositeCount : u32 , pub mLayers : root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > , } pub const nsStyleImageLayers_shorthand : root :: nsStyleImageLayers__bindgen_ty_1 = 0 ; pub const nsStyleImageLayers_color : root :: nsStyleImageLayers__bindgen_ty_1 = 1 ; pub const nsStyleImageLayers_image : root :: nsStyleImageLayers__bindgen_ty_1 = 2 ; pub const nsStyleImageLayers_repeat : root :: nsStyleImageLayers__bindgen_ty_1 = 3 ; pub const nsStyleImageLayers_positionX : root :: nsStyleImageLayers__bindgen_ty_1 = 4 ; pub const nsStyleImageLayers_positionY : root :: nsStyleImageLayers__bindgen_ty_1 = 5 ; pub const nsStyleImageLayers_clip : root :: nsStyleImageLayers__bindgen_ty_1 = 6 ; pub const nsStyleImageLayers_origin : root :: nsStyleImageLayers__bindgen_ty_1 = 7 ; pub const nsStyleImageLayers_size : root :: nsStyleImageLayers__bindgen_ty_1 = 8 ; pub const nsStyleImageLayers_attachment : root :: nsStyleImageLayers__bindgen_ty_1 = 9 ; pub const nsStyleImageLayers_maskMode : root :: nsStyleImageLayers__bindgen_ty_1 = 10 ; pub const nsStyleImageLayers_composite : root :: nsStyleImageLayers__bindgen_ty_1 = 11 ; pub type nsStyleImageLayers__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleImageLayers_LayerType { Background = 0 , Mask = 1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImageLayers_Size { pub mWidth : root :: nsStyleImageLayers_Size_Dimension , pub mHeight : root :: nsStyleImageLayers_Size_Dimension , pub mWidthType : u8 , pub mHeightType : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImageLayers_Size_Dimension { pub _base : root :: nsStyleCoord_CalcValue , } # [ test ] fn bindgen_test_layout_nsStyleImageLayers_Size_Dimension ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageLayers_Size_Dimension > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers_Size_Dimension ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageLayers_Size_Dimension > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageLayers_Size_Dimension ) ) ) ; } impl Clone for nsStyleImageLayers_Size_Dimension { fn clone ( & self ) -> Self { * self } } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleImageLayers_Size_DimensionType { eContain = 0 , eCover = 1 , eAuto = 2 , eLengthPercentage = 3 , eDimensionType_COUNT = 4 , } # [ test ] fn bindgen_test_layout_nsStyleImageLayers_Size ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageLayers_Size > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers_Size ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageLayers_Size > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageLayers_Size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mWidth as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Size ) , "::" , stringify ! ( mWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mHeight as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Size ) , "::" , stringify ! ( mHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mWidthType as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Size ) , "::" , stringify ! ( mWidthType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mHeightType as * const _ as usize } , 25usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Size ) , "::" , stringify ! ( mHeightType ) ) ) ; } impl Clone for nsStyleImageLayers_Size { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImageLayers_Repeat { pub mXRepeat : root :: mozilla :: StyleImageLayerRepeat , pub mYRepeat : root :: mozilla :: StyleImageLayerRepeat , } # [ test ] fn bindgen_test_layout_nsStyleImageLayers_Repeat ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageLayers_Repeat > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers_Repeat ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageLayers_Repeat > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageLayers_Repeat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Repeat ) ) . mXRepeat as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Repeat ) , "::" , stringify ! ( mXRepeat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Repeat ) ) . mYRepeat as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Repeat ) , "::" , stringify ! ( mYRepeat ) ) ) ; } impl Clone for nsStyleImageLayers_Repeat { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleImageLayers_Layer { pub mImage : root :: nsStyleImage , pub mPosition : root :: mozilla :: Position , pub mSize : root :: nsStyleImageLayers_Size , pub mClip : root :: nsStyleImageLayers_Layer_StyleGeometryBox , pub mOrigin : root :: nsStyleImageLayers_Layer_StyleGeometryBox , pub mAttachment : u8 , pub mBlendMode : u8 , pub mComposite : u8 , pub mMaskMode : u8 , pub mRepeat : root :: nsStyleImageLayers_Repeat , } pub use self :: super :: root :: mozilla :: StyleGeometryBox as nsStyleImageLayers_Layer_StyleGeometryBox ; # [ test ] fn bindgen_test_layout_nsStyleImageLayers_Layer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageLayers_Layer > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers_Layer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageLayers_Layer > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageLayers_Layer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mPosition as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mSize as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mClip as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mClip ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mOrigin as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mOrigin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mAttachment as * const _ as usize } , 86usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mAttachment ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mBlendMode as * const _ as usize } , 87usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mBlendMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mComposite as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mComposite ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mMaskMode as * const _ as usize } , 89usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mMaskMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mRepeat as * const _ as usize } , 90usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers_Layer ) , "::" , stringify ! ( mRepeat ) ) ) ; } extern "C" { - # [ link_name = "\u{1}__ZN18nsStyleImageLayers21kBackgroundLayerTableE" ] + # [ link_name = "\u{1}_ZN18nsStyleImageLayers21kBackgroundLayerTableE" ] pub static mut nsStyleImageLayers_kBackgroundLayerTable : [ root :: nsCSSPropertyID ; 0usize ] ; } extern "C" { - # [ link_name = "\u{1}__ZN18nsStyleImageLayers15kMaskLayerTableE" ] + # [ link_name = "\u{1}_ZN18nsStyleImageLayers15kMaskLayerTableE" ] pub static mut nsStyleImageLayers_kMaskLayerTable : [ root :: nsCSSPropertyID ; 0usize ] ; } # [ test ] fn bindgen_test_layout_nsStyleImageLayers ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageLayers > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageLayers > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageLayers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mAttachmentCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mAttachmentCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mClipCount as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mClipCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mOriginCount as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mOriginCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mRepeatCount as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mRepeatCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mPositionXCount as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mPositionXCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mPositionYCount as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mPositionYCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mImageCount as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mImageCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mSizeCount as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mSizeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mMaskModeCount as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mMaskModeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mBlendModeCount as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mBlendModeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mCompositeCount as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mCompositeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageLayers ) ) . mLayers as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageLayers ) , "::" , stringify ! ( mLayers ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleBackground { pub mImage : root :: nsStyleImageLayers , pub mBackgroundColor : root :: mozilla :: StyleComplexColor , } pub const nsStyleBackground_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleBackground ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleBackground > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( nsStyleBackground ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleBackground > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleBackground ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBackground ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBackground ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBackground ) ) . mBackgroundColor as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBackground ) , "::" , stringify ! ( mBackgroundColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleMargin { pub mMargin : root :: nsStyleSides , } pub const nsStyleMargin_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleMargin ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleMargin > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStyleMargin ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleMargin > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleMargin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleMargin ) ) . mMargin as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleMargin ) , "::" , stringify ! ( mMargin ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStylePadding { pub mPadding : root :: nsStyleSides , } pub const nsStylePadding_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStylePadding ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStylePadding > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStylePadding ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStylePadding > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStylePadding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePadding ) ) . mPadding as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePadding ) , "::" , stringify ! ( mPadding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSShadowItem { pub mXOffset : root :: nscoord , pub mYOffset : root :: nscoord , pub mRadius : root :: nscoord , pub mSpread : root :: nscoord , pub mColor : root :: nscolor , pub mHasColor : bool , pub mInset : bool , } # [ test ] fn bindgen_test_layout_nsCSSShadowItem ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSShadowItem > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsCSSShadowItem ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSShadowItem > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsCSSShadowItem ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mXOffset as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mXOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mYOffset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mYOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mRadius as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mRadius ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mSpread as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mSpread ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mHasColor as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mHasColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowItem ) ) . mInset as * const _ as usize } , 21usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , "::" , stringify ! ( mInset ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSShadowArray { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mLength : u32 , pub mArray : [ root :: nsCSSShadowItem ; 1usize ] , } pub type nsCSSShadowArray_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsCSSShadowArray ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSShadowArray > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsCSSShadowArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSShadowArray > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSShadowArray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowArray ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowArray ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowArray ) ) . mLength as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowArray ) , "::" , stringify ! ( mLength ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSShadowArray ) ) . mArray as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSShadowArray ) , "::" , stringify ! ( mArray ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsBorderColors { pub mColors : [ root :: nsTArray < root :: nscolor > ; 4usize ] , } # [ test ] fn bindgen_test_layout_nsBorderColors ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsBorderColors > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsBorderColors ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsBorderColors > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsBorderColors ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBorderColors ) ) . mColors as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsBorderColors ) , "::" , stringify ! ( mColors ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleBorder { pub mBorderColors : root :: mozilla :: UniquePtr < root :: nsBorderColors > , pub mBorderRadius : root :: nsStyleCorners , pub mBorderImageSource : root :: nsStyleImage , pub mBorderImageSlice : root :: nsStyleSides , pub mBorderImageWidth : root :: nsStyleSides , pub mBorderImageOutset : root :: nsStyleSides , pub mBorderImageFill : u8 , pub mBorderImageRepeatH : u8 , pub mBorderImageRepeatV : u8 , pub mFloatEdge : root :: mozilla :: StyleFloatEdge , pub mBoxDecorationBreak : root :: mozilla :: StyleBoxDecorationBreak , pub mBorderStyle : [ u8 ; 4usize ] , pub __bindgen_anon_1 : root :: nsStyleBorder__bindgen_ty_1 , pub mComputedBorder : root :: nsMargin , pub mBorder : root :: nsMargin , pub mTwipsPerPixel : root :: nscoord , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleBorder__bindgen_ty_1 { pub __bindgen_anon_1 : root :: __BindgenUnionField < root :: nsStyleBorder__bindgen_ty_1__bindgen_ty_1 > , pub mBorderColor : root :: __BindgenUnionField < [ root :: mozilla :: StyleComplexColor ; 4usize ] > , pub bindgen_union_field : [ u32 ; 8usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { pub mBorderTopColor : root :: mozilla :: StyleComplexColor , pub mBorderRightColor : root :: mozilla :: StyleComplexColor , pub mBorderBottomColor : root :: mozilla :: StyleComplexColor , pub mBorderLeftColor : root :: mozilla :: StyleComplexColor , } # [ test ] fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleBorder__bindgen_ty_1__bindgen_ty_1 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleBorder__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) . mBorderTopColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mBorderTopColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) . mBorderRightColor as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mBorderRightColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) . mBorderBottomColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mBorderBottomColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) ) . mBorderLeftColor as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mBorderLeftColor ) ) ) ; } impl Clone for nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleBorder__bindgen_ty_1 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleBorder__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1 ) ) . mBorderColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) , "::" , stringify ! ( mBorderColor ) ) ) ; } impl Clone for nsStyleBorder__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } pub const nsStyleBorder_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleBorder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleBorder > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( nsStyleBorder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleBorder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderColors as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderColors ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderRadius as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderRadius ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageSource as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageSource ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageSlice as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageSlice ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageWidth as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageOutset as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageOutset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageFill as * const _ as usize } , 232usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageFill ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageRepeatH as * const _ as usize } , 233usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageRepeatH ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageRepeatV as * const _ as usize } , 234usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderImageRepeatV ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mFloatEdge as * const _ as usize } , 235usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mFloatEdge ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBoxDecorationBreak as * const _ as usize } , 236usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBoxDecorationBreak ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorderStyle as * const _ as usize } , 237usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorderStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mComputedBorder as * const _ as usize } , 276usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mComputedBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mBorder as * const _ as usize } , 292usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleBorder ) ) . mTwipsPerPixel as * const _ as usize } , 308usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleBorder ) , "::" , stringify ! ( mTwipsPerPixel ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleOutline { pub mOutlineRadius : root :: nsStyleCorners , pub mOutlineWidth : root :: nscoord , pub mOutlineOffset : root :: nscoord , pub mOutlineColor : root :: mozilla :: StyleComplexColor , pub mOutlineStyle : u8 , pub mActualOutlineWidth : root :: nscoord , pub mTwipsPerPixel : root :: nscoord , } pub const nsStyleOutline_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleOutline ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleOutline > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( nsStyleOutline ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleOutline > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleOutline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineRadius as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mOutlineRadius ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineWidth as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mOutlineWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineOffset as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mOutlineOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineColor as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mOutlineColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineStyle as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mOutlineStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mActualOutlineWidth as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mActualOutlineWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleOutline ) ) . mTwipsPerPixel as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleOutline ) , "::" , stringify ! ( mTwipsPerPixel ) ) ) ; } /// An object that allows sharing of arrays that store 'quotes' property /// values. This is particularly important for inheritance, where we want /// to share the same 'quotes' value with a parent style context. # [ repr ( C ) ] pub struct nsStyleQuoteValues { pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mQuotePairs : root :: nsStyleQuoteValues_QuotePairArray , } pub type nsStyleQuoteValues_QuotePairArray = root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ; pub type nsStyleQuoteValues_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsStyleQuoteValues ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleQuoteValues > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleQuoteValues ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleQuoteValues > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleQuoteValues ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleQuoteValues ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleQuoteValues ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleQuoteValues ) ) . mQuotePairs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleQuoteValues ) , "::" , stringify ! ( mQuotePairs ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleList { pub mListStylePosition : u8 , pub mListStyleImage : root :: RefPtr < root :: nsStyleImageRequest > , pub mCounterStyle : root :: mozilla :: CounterStylePtr , pub mQuotes : root :: RefPtr < root :: nsStyleQuoteValues > , pub mImageRegion : root :: nsRect , } pub const nsStyleList_kHasFinishStyle : bool = true ; extern "C" { - # [ link_name = "\u{1}__ZN11nsStyleList14sInitialQuotesE" ] + # [ link_name = "\u{1}_ZN11nsStyleList14sInitialQuotesE" ] pub static mut nsStyleList_sInitialQuotes : root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ; } extern "C" { - # [ link_name = "\u{1}__ZN11nsStyleList11sNoneQuotesE" ] + # [ link_name = "\u{1}_ZN11nsStyleList11sNoneQuotesE" ] pub static mut nsStyleList_sNoneQuotes : root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ; -} # [ test ] fn bindgen_test_layout_nsStyleList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleList > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mListStylePosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mListStylePosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mListStyleImage as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mListStyleImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mCounterStyle as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mCounterStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mQuotes as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mQuotes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mImageRegion as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mImageRegion ) ) ) ; } # [ test ] fn __bindgen_test_layout_StaticRefPtr_open0_nsStyleQuoteValues_close0_instantiation ( ) { 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_open0_nsStyleQuoteValues_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleGridLine { pub mHasSpan : bool , pub mInteger : i32 , pub mLineName : ::nsstring::nsStringRepr , } pub const nsStyleGridLine_kMinLine : i32 = -10000 ; pub const nsStyleGridLine_kMaxLine : i32 = 10000 ; # [ test ] fn bindgen_test_layout_nsStyleGridLine ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGridLine > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleGridLine ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGridLine > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGridLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mHasSpan as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mHasSpan ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mInteger as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mInteger ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mLineName as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mLineName ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleGridTemplate { pub mLineNameLists : root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > , pub mMinTrackSizingFunctions : root :: nsTArray < root :: nsStyleCoord > , pub mMaxTrackSizingFunctions : root :: nsTArray < root :: nsStyleCoord > , pub mRepeatAutoLineNameListBefore : root :: nsTArray < ::nsstring::nsStringRepr > , pub mRepeatAutoLineNameListAfter : root :: nsTArray < ::nsstring::nsStringRepr > , pub mRepeatAutoIndex : i16 , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 5usize ] , } # [ test ] fn bindgen_test_layout_nsStyleGridTemplate ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGridTemplate > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleGridTemplate ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGridTemplate > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGridTemplate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mLineNameLists as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mLineNameLists ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mMinTrackSizingFunctions as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mMinTrackSizingFunctions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mMaxTrackSizingFunctions as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mMaxTrackSizingFunctions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoLineNameListBefore as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoLineNameListBefore ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoLineNameListAfter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoLineNameListAfter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoIndex as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoIndex ) ) ) ; } impl nsStyleGridTemplate { # [ inline ] pub fn mIsAutoFill ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; 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 = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsSubgrid ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; 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 = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mIsAutoFill : bool , mIsSubgrid : bool ) -> u8 { ( ( 0 | ( ( mIsAutoFill as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mIsSubgrid as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) } } # [ repr ( C ) ] pub struct nsStylePosition { pub mObjectPosition : root :: mozilla :: Position , pub mOffset : root :: nsStyleSides , pub mWidth : root :: nsStyleCoord , pub mMinWidth : root :: nsStyleCoord , pub mMaxWidth : root :: nsStyleCoord , pub mHeight : root :: nsStyleCoord , pub mMinHeight : root :: nsStyleCoord , pub mMaxHeight : root :: nsStyleCoord , pub mFlexBasis : root :: nsStyleCoord , pub mGridAutoColumnsMin : root :: nsStyleCoord , pub mGridAutoColumnsMax : root :: nsStyleCoord , pub mGridAutoRowsMin : root :: nsStyleCoord , pub mGridAutoRowsMax : root :: nsStyleCoord , pub mGridAutoFlow : u8 , pub mBoxSizing : root :: mozilla :: StyleBoxSizing , pub mAlignContent : u16 , pub mAlignItems : u8 , pub mAlignSelf : u8 , pub mJustifyContent : u16 , pub mSpecifiedJustifyItems : u8 , pub mJustifyItems : u8 , pub mJustifySelf : u8 , pub mFlexDirection : u8 , pub mFlexWrap : u8 , pub mObjectFit : u8 , pub mOrder : i32 , pub mFlexGrow : f32 , pub mFlexShrink : f32 , pub mZIndex : root :: nsStyleCoord , pub mGridTemplateColumns : root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > , pub mGridTemplateRows : root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > , pub mGridTemplateAreas : root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > , pub mGridColumnStart : root :: nsStyleGridLine , pub mGridColumnEnd : root :: nsStyleGridLine , pub mGridRowStart : root :: nsStyleGridLine , pub mGridRowEnd : root :: nsStyleGridLine , pub mGridColumnGap : root :: nsStyleCoord , pub mGridRowGap : root :: nsStyleCoord , } pub const nsStylePosition_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStylePosition ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStylePosition > ( ) , 440usize , concat ! ( "Size of: " , stringify ! ( nsStylePosition ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStylePosition > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStylePosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mObjectPosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mObjectPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mOffset as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mWidth as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMinWidth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMinWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMaxWidth as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMaxWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mHeight as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMinHeight as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMinHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMaxHeight as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMaxHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexBasis as * const _ as usize } , 160usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexBasis ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoColumnsMin as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoColumnsMin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoColumnsMax as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoColumnsMax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoRowsMin as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoRowsMin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoRowsMax as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoRowsMax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoFlow as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoFlow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mBoxSizing as * const _ as usize } , 241usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mBoxSizing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignContent as * const _ as usize } , 242usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignItems as * const _ as usize } , 244usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignSelf as * const _ as usize } , 245usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignSelf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifyContent as * const _ as usize } , 246usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifyContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mSpecifiedJustifyItems as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mSpecifiedJustifyItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifyItems as * const _ as usize } , 249usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifyItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifySelf as * const _ as usize } , 250usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifySelf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexDirection as * const _ as usize } , 251usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexWrap as * const _ as usize } , 252usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexWrap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mObjectFit as * const _ as usize } , 253usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mObjectFit ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mOrder as * const _ as usize } , 256usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexGrow as * const _ as usize } , 260usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexGrow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexShrink as * const _ as usize } , 264usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexShrink ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mZIndex as * const _ as usize } , 272usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mZIndex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateColumns as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateColumns ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateRows as * const _ as usize } , 296usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateRows ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateAreas as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateAreas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnStart as * const _ as usize } , 312usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnEnd as * const _ as usize } , 336usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowStart as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowEnd as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnGap as * const _ as usize } , 408usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnGap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowGap as * const _ as usize } , 424usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowGap ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextOverflowSide { pub mString : ::nsstring::nsStringRepr , pub mType : u8 , } # [ test ] fn bindgen_test_layout_nsStyleTextOverflowSide ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextOverflowSide > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextOverflowSide ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextOverflowSide > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextOverflowSide ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflowSide ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mType as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflowSide ) , "::" , stringify ! ( mType ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextOverflow { pub mLeft : root :: nsStyleTextOverflowSide , pub mRight : root :: nsStyleTextOverflowSide , pub mLogicalDirections : bool , } # [ test ] fn bindgen_test_layout_nsStyleTextOverflow ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextOverflow > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextOverflow ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextOverflow > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextOverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mLeft as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mRight as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mRight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mLogicalDirections as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mLogicalDirections ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextReset { pub mTextOverflow : root :: nsStyleTextOverflow , pub mTextDecorationLine : u8 , pub mTextDecorationStyle : u8 , pub mUnicodeBidi : u8 , pub mInitialLetterSink : root :: nscoord , pub mInitialLetterSize : f32 , pub mTextDecorationColor : root :: mozilla :: StyleComplexColor , } pub const nsStyleTextReset_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTextReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextReset > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextOverflow as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextOverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationLine as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationStyle as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mUnicodeBidi as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mUnicodeBidi ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mInitialLetterSink as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mInitialLetterSink ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mInitialLetterSize as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mInitialLetterSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationColor as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationColor ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleText { pub mTextAlign : u8 , pub mTextAlignLast : u8 , pub _bitfield_1 : u8 , pub mTextJustify : root :: mozilla :: StyleTextJustify , pub mTextTransform : u8 , pub mWhiteSpace : root :: mozilla :: StyleWhiteSpace , pub mWordBreak : u8 , pub mOverflowWrap : u8 , pub mHyphens : root :: mozilla :: StyleHyphens , pub mRubyAlign : u8 , pub mRubyPosition : u8 , pub mTextSizeAdjust : u8 , pub mTextCombineUpright : u8 , pub mControlCharacterVisibility : u8 , pub mTextEmphasisPosition : u8 , pub mTextEmphasisStyle : u8 , pub mTextRendering : u8 , pub mTextEmphasisColor : root :: mozilla :: StyleComplexColor , pub mWebkitTextFillColor : root :: mozilla :: StyleComplexColor , pub mWebkitTextStrokeColor : root :: mozilla :: StyleComplexColor , pub mTabSize : root :: nsStyleCoord , pub mWordSpacing : root :: nsStyleCoord , pub mLetterSpacing : root :: nsStyleCoord , pub mLineHeight : root :: nsStyleCoord , pub mTextIndent : root :: nsStyleCoord , pub mWebkitTextStrokeWidth : root :: nscoord , pub mTextShadow : root :: RefPtr < root :: nsCSSShadowArray > , pub mTextEmphasisStyleString : ::nsstring::nsStringRepr , } pub const nsStyleText_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleText ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleText > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( nsStyleText ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleText > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleText ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextAlign as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextAlignLast as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextAlignLast ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextJustify as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextJustify ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextTransform as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWhiteSpace as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWhiteSpace ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWordBreak as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWordBreak ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mOverflowWrap as * const _ as usize } , 7usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mOverflowWrap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mHyphens as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mHyphens ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mRubyAlign as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mRubyAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mRubyPosition as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mRubyPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextSizeAdjust as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextSizeAdjust ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextCombineUpright as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextCombineUpright ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mControlCharacterVisibility as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mControlCharacterVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisPosition as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyle as * const _ as usize } , 15usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextRendering as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisColor as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextFillColor as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextFillColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextStrokeColor as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextStrokeColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTabSize as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTabSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWordSpacing as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWordSpacing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mLetterSpacing as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mLetterSpacing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mLineHeight as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mLineHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextIndent as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextIndent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextStrokeWidth as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextStrokeWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextShadow as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyleString as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisStyleString ) ) ) ; } impl nsStyleText { # [ inline ] pub fn mTextAlignTrue ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mTextAlignTrue ( & mut self , val : bool ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mTextAlignLastTrue ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mTextAlignLastTrue ( & mut self , val : bool ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mTextAlignTrue : bool , mTextAlignLastTrue : bool ) -> u8 { ( ( 0 | ( ( mTextAlignTrue as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mTextAlignLastTrue as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImageOrientation { pub mOrientation : u8 , } pub const nsStyleImageOrientation_Bits_ORIENTATION_MASK : root :: nsStyleImageOrientation_Bits = 3 ; pub const nsStyleImageOrientation_Bits_FLIP_MASK : root :: nsStyleImageOrientation_Bits = 4 ; pub const nsStyleImageOrientation_Bits_FROM_IMAGE_MASK : root :: nsStyleImageOrientation_Bits = 8 ; pub type nsStyleImageOrientation_Bits = :: std :: os :: raw :: c_uint ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleImageOrientation_Angles { ANGLE_0 = 0 , ANGLE_90 = 1 , ANGLE_180 = 2 , ANGLE_270 = 3 , } # [ test ] fn bindgen_test_layout_nsStyleImageOrientation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageOrientation > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageOrientation ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageOrientation > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageOrientation ) ) . mOrientation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageOrientation ) , "::" , stringify ! ( mOrientation ) ) ) ; } impl Clone for nsStyleImageOrientation { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleVisibility { pub mImageOrientation : root :: nsStyleImageOrientation , pub mDirection : u8 , pub mVisible : u8 , pub mImageRendering : u8 , pub mWritingMode : u8 , pub mTextOrientation : u8 , pub mColorAdjust : u8 , } pub const nsStyleVisibility_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleVisibility ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleVisibility > ( ) , 7usize , concat ! ( "Size of: " , stringify ! ( nsStyleVisibility ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleVisibility > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsStyleVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mImageOrientation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mImageOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mDirection as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mVisible as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mVisible ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mImageRendering as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mImageRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mWritingMode as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mWritingMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mTextOrientation as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mTextOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mColorAdjust as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mColorAdjust ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction { pub mType : root :: nsTimingFunction_Type , pub __bindgen_anon_1 : root :: nsTimingFunction__bindgen_ty_1 , } # [ repr ( i32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsTimingFunction_Type { Ease = 0 , Linear = 1 , EaseIn = 2 , EaseOut = 3 , EaseInOut = 4 , StepStart = 5 , StepEnd = 6 , CubicBezier = 7 , Frames = 8 , } pub const nsTimingFunction_Keyword_Implicit : root :: nsTimingFunction_Keyword = 0 ; pub const nsTimingFunction_Keyword_Explicit : root :: nsTimingFunction_Keyword = 1 ; pub type nsTimingFunction_Keyword = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1 { pub mFunc : root :: __BindgenUnionField < root :: nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_1 : root :: __BindgenUnionField < root :: nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [ u32 ; 4usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1__bindgen_ty_1 { pub mX1 : f32 , pub mY1 : f32 , pub mX2 : f32 , pub mY2 : f32 , } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mX1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mX1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mY1 as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mY1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mX2 as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mX2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mY2 as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mY2 ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1__bindgen_ty_2 { pub mStepsOrFrames : u32 , } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) . mStepsOrFrames as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( mStepsOrFrames ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_2 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1 ) ) . mFunc as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) , "::" , stringify ! ( mFunc ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsTimingFunction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction ) , "::" , stringify ! ( mType ) ) ) ; } impl Clone for nsTimingFunction { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct BindingHolder { pub mPtr : root :: RefPtr < root :: mozilla :: css :: URLValue > , } # [ test ] fn bindgen_test_layout_BindingHolder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < BindingHolder > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( BindingHolder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < BindingHolder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( BindingHolder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const BindingHolder ) ) . mPtr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( BindingHolder ) , "::" , stringify ! ( mPtr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleDisplay { pub mBinding : root :: BindingHolder , pub mDisplay : root :: mozilla :: StyleDisplay , pub mOriginalDisplay : root :: mozilla :: StyleDisplay , pub mContain : u8 , pub mAppearance : u8 , pub mPosition : u8 , pub mFloat : root :: mozilla :: StyleFloat , pub mOriginalFloat : root :: mozilla :: StyleFloat , pub mBreakType : root :: mozilla :: StyleClear , pub mBreakInside : u8 , pub mBreakBefore : bool , pub mBreakAfter : bool , pub mOverflowX : u8 , pub mOverflowY : u8 , pub mOverflowClipBox : u8 , pub mResize : u8 , pub mOrient : root :: mozilla :: StyleOrient , pub mIsolation : u8 , pub mTopLayer : u8 , pub mWillChangeBitField : u8 , pub mWillChange : root :: nsTArray < root :: RefPtr < root :: nsAtom > > , pub mTouchAction : u8 , pub mScrollBehavior : u8 , pub mOverscrollBehaviorX : root :: mozilla :: StyleOverscrollBehavior , pub mOverscrollBehaviorY : root :: mozilla :: StyleOverscrollBehavior , pub mScrollSnapTypeX : u8 , pub mScrollSnapTypeY : u8 , pub mScrollSnapPointsX : root :: nsStyleCoord , pub mScrollSnapPointsY : root :: nsStyleCoord , pub mScrollSnapDestination : root :: mozilla :: Position , pub mScrollSnapCoordinate : root :: nsTArray < root :: mozilla :: Position > , pub mBackfaceVisibility : u8 , pub mTransformStyle : u8 , pub mTransformBox : root :: nsStyleDisplay_StyleGeometryBox , pub mSpecifiedTransform : root :: RefPtr < root :: nsCSSValueSharedList > , pub mTransformOrigin : [ root :: nsStyleCoord ; 3usize ] , pub mChildPerspective : root :: nsStyleCoord , pub mPerspectiveOrigin : [ root :: nsStyleCoord ; 2usize ] , pub mVerticalAlign : root :: nsStyleCoord , pub mTransitions : root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > , pub mTransitionTimingFunctionCount : u32 , pub mTransitionDurationCount : u32 , pub mTransitionDelayCount : u32 , pub mTransitionPropertyCount : u32 , pub mAnimations : root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > , pub mAnimationTimingFunctionCount : u32 , pub mAnimationDurationCount : u32 , pub mAnimationDelayCount : u32 , pub mAnimationNameCount : u32 , pub mAnimationDirectionCount : u32 , pub mAnimationFillModeCount : u32 , pub mAnimationPlayStateCount : u32 , pub mAnimationIterationCountCount : u32 , pub mShapeOutside : root :: mozilla :: StyleShapeSource , } pub use self :: super :: root :: mozilla :: StyleGeometryBox as nsStyleDisplay_StyleGeometryBox ; pub const nsStyleDisplay_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleDisplay ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleDisplay > ( ) , 416usize , concat ! ( "Size of: " , stringify ! ( nsStyleDisplay ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleDisplay > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBinding as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mDisplay as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalDisplay as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOriginalDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mContain as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mContain ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAppearance as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAppearance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mPosition as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mFloat as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalFloat as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOriginalFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakType as * const _ as usize } , 15usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakInside as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakInside ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakBefore as * const _ as usize } , 17usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakBefore ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakAfter as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakAfter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowX as * const _ as usize } , 19usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowY as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowClipBox as * const _ as usize } , 21usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowClipBox ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mResize as * const _ as usize } , 22usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mResize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOrient as * const _ as usize } , 23usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOrient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mIsolation as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mIsolation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTopLayer as * const _ as usize } , 25usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTopLayer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChangeBitField as * const _ as usize } , 26usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mWillChangeBitField ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChange as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mWillChange ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTouchAction as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTouchAction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollBehavior as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollBehavior ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverscrollBehaviorX as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverscrollBehaviorX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverscrollBehaviorY as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverscrollBehaviorY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeX as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapTypeX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeY as * const _ as usize } , 45usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapTypeY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapPointsX as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapPointsX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapPointsY as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapPointsY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapDestination as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapDestination ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapCoordinate as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapCoordinate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBackfaceVisibility as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBackfaceVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformStyle as * const _ as usize } , 113usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformBox as * const _ as usize } , 114usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformBox ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mSpecifiedTransform as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mSpecifiedTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformOrigin as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformOrigin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mChildPerspective as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mChildPerspective ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mPerspectiveOrigin as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mPerspectiveOrigin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mVerticalAlign as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mVerticalAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitions as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionTimingFunctionCount as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionTimingFunctionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionDurationCount as * const _ as usize } , 292usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionDurationCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionDelayCount as * const _ as usize } , 296usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionDelayCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionPropertyCount as * const _ as usize } , 300usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionPropertyCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimations as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationTimingFunctionCount as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationTimingFunctionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDurationCount as * const _ as usize } , 364usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDurationCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDelayCount as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDelayCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationNameCount as * const _ as usize } , 372usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationNameCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDirectionCount as * const _ as usize } , 376usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDirectionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationFillModeCount as * const _ as usize } , 380usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationFillModeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationPlayStateCount as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationPlayStateCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationIterationCountCount as * const _ as usize } , 388usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationIterationCountCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mShapeOutside as * const _ as usize } , 392usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mShapeOutside ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleTable { pub mLayoutStrategy : u8 , pub mSpan : i32 , } pub const nsStyleTable_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTable > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTable > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTable ) ) . mLayoutStrategy as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTable ) , "::" , stringify ! ( mLayoutStrategy ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTable ) ) . mSpan as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTable ) , "::" , stringify ! ( mSpan ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleTableBorder { pub mBorderSpacingCol : root :: nscoord , pub mBorderSpacingRow : root :: nscoord , pub mBorderCollapse : u8 , pub mCaptionSide : u8 , pub mEmptyCells : u8 , } pub const nsStyleTableBorder_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTableBorder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTableBorder > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( nsStyleTableBorder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTableBorder > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTableBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderSpacingCol as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderSpacingCol ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderSpacingRow as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderSpacingRow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderCollapse as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderCollapse ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mCaptionSide as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mCaptionSide ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mEmptyCells as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mEmptyCells ) ) ) ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleContentType { eStyleContentType_String = 1 , eStyleContentType_Image = 10 , eStyleContentType_Attr = 20 , eStyleContentType_Counter = 30 , eStyleContentType_Counters = 31 , eStyleContentType_OpenQuote = 40 , eStyleContentType_CloseQuote = 41 , eStyleContentType_NoOpenQuote = 42 , eStyleContentType_NoCloseQuote = 43 , eStyleContentType_AltContent = 50 , eStyleContentType_Uninitialized = 51 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleContentData { pub mType : root :: nsStyleContentType , pub mContent : root :: nsStyleContentData__bindgen_ty_1 , } # [ repr ( C ) ] pub struct nsStyleContentData_CounterFunction { pub mIdent : ::nsstring::nsStringRepr , pub mSeparator : ::nsstring::nsStringRepr , pub mCounterStyle : root :: mozilla :: CounterStylePtr , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , } pub type nsStyleContentData_CounterFunction_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsStyleContentData_CounterFunction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData_CounterFunction > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData_CounterFunction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData_CounterFunction > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData_CounterFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mIdent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mIdent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mSeparator as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mSeparator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mCounterStyle as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mCounterStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mRefCnt as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleContentData__bindgen_ty_1 { pub mString : root :: __BindgenUnionField < * mut u16 > , pub mImage : root :: __BindgenUnionField < * mut root :: nsStyleImageRequest > , pub mCounters : root :: __BindgenUnionField < * mut root :: nsStyleContentData_CounterFunction > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleContentData__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mCounters as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mCounters ) ) ) ; } impl Clone for nsStyleContentData__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleContentData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData ) ) . mContent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData ) , "::" , stringify ! ( mContent ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleCounterData { pub mCounter : ::nsstring::nsStringRepr , pub mValue : i32 , } # [ test ] fn bindgen_test_layout_nsStyleCounterData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleCounterData > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleCounterData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleCounterData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleCounterData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleCounterData ) ) . mCounter as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleCounterData ) , "::" , stringify ! ( mCounter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleCounterData ) ) . mValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleCounterData ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleContent { pub mContents : root :: nsTArray < root :: nsStyleContentData > , pub mIncrements : root :: nsTArray < root :: nsStyleCounterData > , pub mResets : root :: nsTArray < root :: nsStyleCounterData > , } pub const nsStyleContent_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleContent ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContent > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleContent ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContent > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mContents as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mContents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mIncrements as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mIncrements ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mResets as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mResets ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleUIReset { pub mUserSelect : root :: mozilla :: StyleUserSelect , pub mForceBrokenImageIcon : u8 , pub mIMEMode : u8 , pub mWindowDragging : root :: mozilla :: StyleWindowDragging , pub mWindowShadow : u8 , pub mWindowOpacity : f32 , pub mSpecifiedWindowTransform : root :: RefPtr < root :: nsCSSValueSharedList > , pub mWindowTransformOrigin : [ root :: nsStyleCoord ; 2usize ] , } pub const nsStyleUIReset_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleUIReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleUIReset > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( nsStyleUIReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleUIReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleUIReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mUserSelect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mUserSelect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mForceBrokenImageIcon as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mForceBrokenImageIcon ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mIMEMode as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mIMEMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowDragging as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowDragging ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowShadow as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowOpacity as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mSpecifiedWindowTransform as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mSpecifiedWindowTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowTransformOrigin as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowTransformOrigin ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCursorImage { pub mHaveHotspot : bool , pub mHotspotX : f32 , pub mHotspotY : f32 , pub mImage : root :: RefPtr < root :: nsStyleImageRequest > , } # [ test ] fn bindgen_test_layout_nsCursorImage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCursorImage > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsCursorImage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCursorImage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCursorImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHaveHotspot as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHaveHotspot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHotspotX as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHotspotX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHotspotY as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHotspotY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mImage as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mImage ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleUserInterface { pub mUserInput : root :: mozilla :: StyleUserInput , pub mUserModify : root :: mozilla :: StyleUserModify , pub mUserFocus : root :: mozilla :: StyleUserFocus , pub mPointerEvents : u8 , pub mCursor : u8 , pub mCursorImages : root :: nsTArray < root :: nsCursorImage > , pub mCaretColor : root :: mozilla :: StyleComplexColor , } pub const nsStyleUserInterface_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleUserInterface ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleUserInterface > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleUserInterface ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleUserInterface > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleUserInterface ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserInput as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserInput ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserModify as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserModify ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserFocus as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserFocus ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mPointerEvents as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mPointerEvents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursor as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCursor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursorImages as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCursorImages ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCaretColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCaretColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleXUL { pub mBoxFlex : f32 , pub mBoxOrdinal : u32 , pub mBoxAlign : root :: mozilla :: StyleBoxAlign , pub mBoxDirection : root :: mozilla :: StyleBoxDirection , pub mBoxOrient : root :: mozilla :: StyleBoxOrient , pub mBoxPack : root :: mozilla :: StyleBoxPack , pub mStackSizing : root :: mozilla :: StyleStackSizing , } pub const nsStyleXUL_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleXUL ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleXUL > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleXUL ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleXUL > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleXUL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxFlex as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxFlex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrdinal as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxOrdinal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxAlign as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxDirection as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrient as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxOrient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxPack as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxPack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mStackSizing as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mStackSizing ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleColumn { pub mColumnCount : u32 , pub mColumnWidth : root :: nsStyleCoord , pub mColumnGap : root :: nsStyleCoord , pub mColumnRuleColor : root :: mozilla :: StyleComplexColor , pub mColumnRuleStyle : u8 , pub mColumnFill : u8 , pub mColumnSpan : u8 , pub mColumnRuleWidth : root :: nscoord , pub mTwipsPerPixel : root :: nscoord , } pub const nsStyleColumn_kHasFinishStyle : bool = false ; pub const nsStyleColumn_kMaxColumnCount : u32 = 1000 ; # [ test ] fn bindgen_test_layout_nsStyleColumn ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleColumn > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( nsStyleColumn ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleColumn > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleColumn ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnWidth as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnGap as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnGap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleColor as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleStyle as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnFill as * const _ as usize } , 49usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnFill ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnSpan as * const _ as usize } , 50usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnSpan ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleWidth as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mTwipsPerPixel as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mTwipsPerPixel ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGPaintType { eStyleSVGPaintType_None = 1 , eStyleSVGPaintType_Color = 2 , eStyleSVGPaintType_Server = 3 , eStyleSVGPaintType_ContextFill = 4 , eStyleSVGPaintType_ContextStroke = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGFallbackType { eStyleSVGFallbackType_NotSet = 0 , eStyleSVGFallbackType_None = 1 , eStyleSVGFallbackType_Color = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGOpacitySource { eStyleSVGOpacitySource_Normal = 0 , eStyleSVGOpacitySource_ContextFillOpacity = 1 , eStyleSVGOpacitySource_ContextStrokeOpacity = 2 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVGPaint { pub mPaint : root :: nsStyleSVGPaint__bindgen_ty_1 , pub mType : root :: nsStyleSVGPaintType , pub mFallbackType : root :: nsStyleSVGFallbackType , pub mFallbackColor : root :: nscolor , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleSVGPaint__bindgen_ty_1 { pub mColor : root :: __BindgenUnionField < root :: nscolor > , pub mPaintServer : root :: __BindgenUnionField < * mut root :: mozilla :: css :: URLValue > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGPaint__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGPaint__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . mColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . mPaintServer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( mPaintServer ) ) ) ; } impl Clone for nsStyleSVGPaint__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleSVGPaint ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGPaint > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGPaint ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGPaint > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGPaint ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mPaint as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mPaint ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mFallbackType as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mFallbackType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mFallbackColor as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mFallbackColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVG { pub mFill : root :: nsStyleSVGPaint , pub mStroke : root :: nsStyleSVGPaint , pub mMarkerEnd : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mMarkerMid : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mMarkerStart : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mStrokeDasharray : root :: nsTArray < root :: nsStyleCoord > , pub mContextProps : root :: nsTArray < root :: RefPtr < root :: nsAtom > > , pub mStrokeDashoffset : root :: nsStyleCoord , pub mStrokeWidth : root :: nsStyleCoord , pub mFillOpacity : f32 , pub mStrokeMiterlimit : f32 , pub mStrokeOpacity : f32 , pub mClipRule : root :: mozilla :: StyleFillRule , pub mColorInterpolation : u8 , pub mColorInterpolationFilters : u8 , pub mFillRule : root :: mozilla :: StyleFillRule , pub mPaintOrder : u8 , pub mShapeRendering : u8 , pub mStrokeLinecap : u8 , pub mStrokeLinejoin : u8 , pub mTextAnchor : u8 , pub mContextPropsBits : u8 , pub mContextFlags : u8 , } pub const nsStyleSVG_kHasFinishStyle : bool = false ; pub const nsStyleSVG_FILL_OPACITY_SOURCE_MASK : u8 = 3 ; pub const nsStyleSVG_STROKE_OPACITY_SOURCE_MASK : u8 = 12 ; pub const nsStyleSVG_STROKE_DASHARRAY_CONTEXT : u8 = 16 ; pub const nsStyleSVG_STROKE_DASHOFFSET_CONTEXT : u8 = 32 ; pub const nsStyleSVG_STROKE_WIDTH_CONTEXT : u8 = 64 ; pub const nsStyleSVG_FILL_OPACITY_SOURCE_SHIFT : u8 = 0 ; pub const nsStyleSVG_STROKE_OPACITY_SOURCE_SHIFT : u8 = 2 ; # [ test ] fn bindgen_test_layout_nsStyleSVG ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVG > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVG ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVG > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVG ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFill as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFill ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStroke as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStroke ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerEnd as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerMid as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerMid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerStart as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDasharray as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeDasharray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextProps as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextProps ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDashoffset as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeDashoffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeWidth as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFillOpacity as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFillOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeMiterlimit as * const _ as usize } , 108usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeMiterlimit ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeOpacity as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mClipRule as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mClipRule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolation as * const _ as usize } , 117usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mColorInterpolation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolationFilters as * const _ as usize } , 118usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mColorInterpolationFilters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFillRule as * const _ as usize } , 119usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFillRule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mPaintOrder as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mPaintOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mShapeRendering as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mShapeRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinecap as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeLinecap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinejoin as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeLinejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mTextAnchor as * const _ as usize } , 124usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mTextAnchor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextPropsBits as * const _ as usize } , 125usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextPropsBits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextFlags as * const _ as usize } , 126usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextFlags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleFilter { pub mType : u32 , pub mFilterParameter : root :: nsStyleCoord , pub __bindgen_anon_1 : root :: nsStyleFilter__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleFilter__bindgen_ty_1 { pub mURL : root :: __BindgenUnionField < * mut root :: mozilla :: css :: URLValue > , pub mDropShadow : root :: __BindgenUnionField < * mut root :: nsCSSShadowArray > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleFilter__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleFilter__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleFilter__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . mURL as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( mURL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . mDropShadow as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( mDropShadow ) ) ) ; } impl Clone for nsStyleFilter__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } pub const nsStyleFilter_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleFilter ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleFilter > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsStyleFilter ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleFilter > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleFilter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter ) ) . mFilterParameter as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter ) , "::" , stringify ! ( mFilterParameter ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVGReset { pub mMask : root :: nsStyleImageLayers , pub mClipPath : root :: mozilla :: StyleShapeSource , pub mStopColor : root :: nscolor , pub mFloodColor : root :: nscolor , pub mLightingColor : root :: nscolor , pub mStopOpacity : f32 , pub mFloodOpacity : f32 , pub mDominantBaseline : u8 , pub mVectorEffect : u8 , pub mMaskType : u8 , } pub const nsStyleSVGReset_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleSVGReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGReset > ( ) , 200usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mMask as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mMask ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mClipPath as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mClipPath ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopColor as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mStopColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodColor as * const _ as usize } , 180usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mFloodColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mLightingColor as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mLightingColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopOpacity as * const _ as usize } , 188usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mStopOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodOpacity as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mFloodOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mDominantBaseline as * const _ as usize } , 196usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mDominantBaseline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mVectorEffect as * const _ as usize } , 197usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mVectorEffect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mMaskType as * const _ as usize } , 198usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mMaskType ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleVariables { pub mVariables : root :: mozilla :: CSSVariableValues , } pub const nsStyleVariables_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleVariables ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleVariables > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStyleVariables ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleVariables > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleVariables ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVariables ) ) . mVariables as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVariables ) , "::" , stringify ! ( mVariables ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleEffects { pub mFilters : root :: nsTArray < root :: nsStyleFilter > , pub mBoxShadow : root :: RefPtr < root :: nsCSSShadowArray > , pub mClip : root :: nsRect , pub mOpacity : f32 , pub mClipFlags : u8 , pub mMixBlendMode : u8 , } pub const nsStyleEffects_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleEffects ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleEffects > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStyleEffects ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleEffects > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleEffects ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mFilters as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mFilters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mBoxShadow as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mBoxShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mClip as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mClip ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mOpacity as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mClipFlags as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mClipFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mMixBlendMode as * const _ as usize } , 37usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mMixBlendMode ) ) ) ; } +} # [ test ] fn bindgen_test_layout_nsStyleList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleList > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleList ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mListStylePosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mListStylePosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mListStyleImage as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mListStyleImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mCounterStyle as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mCounterStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mQuotes as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mQuotes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleList ) ) . mImageRegion as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleList ) , "::" , stringify ! ( mImageRegion ) ) ) ; } # [ test ] fn __bindgen_test_layout_StaticRefPtr_open0_nsStyleQuoteValues_close0_instantiation ( ) { 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_open0_nsStyleQuoteValues_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsStyleQuoteValues > ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleGridLine { pub mHasSpan : bool , pub mInteger : i32 , pub mLineName : ::nsstring::nsStringRepr , } pub const nsStyleGridLine_kMinLine : i32 = -10000 ; pub const nsStyleGridLine_kMaxLine : i32 = 10000 ; # [ test ] fn bindgen_test_layout_nsStyleGridLine ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGridLine > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleGridLine ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGridLine > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGridLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mHasSpan as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mHasSpan ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mInteger as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mInteger ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridLine ) ) . mLineName as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridLine ) , "::" , stringify ! ( mLineName ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleGridTemplate { pub mLineNameLists : root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > , pub mMinTrackSizingFunctions : root :: nsTArray < root :: nsStyleCoord > , pub mMaxTrackSizingFunctions : root :: nsTArray < root :: nsStyleCoord > , pub mRepeatAutoLineNameListBefore : root :: nsTArray < ::nsstring::nsStringRepr > , pub mRepeatAutoLineNameListAfter : root :: nsTArray < ::nsstring::nsStringRepr > , pub mRepeatAutoIndex : i16 , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 5usize ] , } # [ test ] fn bindgen_test_layout_nsStyleGridTemplate ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleGridTemplate > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleGridTemplate ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleGridTemplate > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleGridTemplate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mLineNameLists as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mLineNameLists ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mMinTrackSizingFunctions as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mMinTrackSizingFunctions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mMaxTrackSizingFunctions as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mMaxTrackSizingFunctions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoLineNameListBefore as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoLineNameListBefore ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoLineNameListAfter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoLineNameListAfter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleGridTemplate ) ) . mRepeatAutoIndex as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleGridTemplate ) , "::" , stringify ! ( mRepeatAutoIndex ) ) ) ; } impl nsStyleGridTemplate { # [ inline ] pub fn mIsAutoFill ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; 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 = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mIsSubgrid ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; 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 = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mIsAutoFill : bool , mIsSubgrid : bool ) -> u8 { ( ( 0 | ( ( mIsAutoFill as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mIsSubgrid as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) } } # [ repr ( C ) ] pub struct nsStylePosition { pub mObjectPosition : root :: mozilla :: Position , pub mOffset : root :: nsStyleSides , pub mWidth : root :: nsStyleCoord , pub mMinWidth : root :: nsStyleCoord , pub mMaxWidth : root :: nsStyleCoord , pub mHeight : root :: nsStyleCoord , pub mMinHeight : root :: nsStyleCoord , pub mMaxHeight : root :: nsStyleCoord , pub mFlexBasis : root :: nsStyleCoord , pub mGridAutoColumnsMin : root :: nsStyleCoord , pub mGridAutoColumnsMax : root :: nsStyleCoord , pub mGridAutoRowsMin : root :: nsStyleCoord , pub mGridAutoRowsMax : root :: nsStyleCoord , pub mGridAutoFlow : u8 , pub mBoxSizing : root :: mozilla :: StyleBoxSizing , pub mAlignContent : u16 , pub mAlignItems : u8 , pub mAlignSelf : u8 , pub mJustifyContent : u16 , pub mSpecifiedJustifyItems : u8 , pub mJustifyItems : u8 , pub mJustifySelf : u8 , pub mFlexDirection : u8 , pub mFlexWrap : u8 , pub mObjectFit : u8 , pub mOrder : i32 , pub mFlexGrow : f32 , pub mFlexShrink : f32 , pub mZIndex : root :: nsStyleCoord , pub mGridTemplateColumns : root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > , pub mGridTemplateRows : root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > , pub mGridTemplateAreas : root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > , pub mGridColumnStart : root :: nsStyleGridLine , pub mGridColumnEnd : root :: nsStyleGridLine , pub mGridRowStart : root :: nsStyleGridLine , pub mGridRowEnd : root :: nsStyleGridLine , pub mGridColumnGap : root :: nsStyleCoord , pub mGridRowGap : root :: nsStyleCoord , } pub const nsStylePosition_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStylePosition ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStylePosition > ( ) , 440usize , concat ! ( "Size of: " , stringify ! ( nsStylePosition ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStylePosition > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStylePosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mObjectPosition as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mObjectPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mOffset as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mWidth as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMinWidth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMinWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMaxWidth as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMaxWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mHeight as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMinHeight as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMinHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mMaxHeight as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mMaxHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexBasis as * const _ as usize } , 160usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexBasis ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoColumnsMin as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoColumnsMin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoColumnsMax as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoColumnsMax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoRowsMin as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoRowsMin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoRowsMax as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoRowsMax ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoFlow as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridAutoFlow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mBoxSizing as * const _ as usize } , 241usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mBoxSizing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignContent as * const _ as usize } , 242usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignItems as * const _ as usize } , 244usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mAlignSelf as * const _ as usize } , 245usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mAlignSelf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifyContent as * const _ as usize } , 246usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifyContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mSpecifiedJustifyItems as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mSpecifiedJustifyItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifyItems as * const _ as usize } , 249usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifyItems ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mJustifySelf as * const _ as usize } , 250usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mJustifySelf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexDirection as * const _ as usize } , 251usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexWrap as * const _ as usize } , 252usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexWrap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mObjectFit as * const _ as usize } , 253usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mObjectFit ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mOrder as * const _ as usize } , 256usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexGrow as * const _ as usize } , 260usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexGrow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mFlexShrink as * const _ as usize } , 264usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mFlexShrink ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mZIndex as * const _ as usize } , 272usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mZIndex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateColumns as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateColumns ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateRows as * const _ as usize } , 296usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateRows ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridTemplateAreas as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridTemplateAreas ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnStart as * const _ as usize } , 312usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnEnd as * const _ as usize } , 336usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowStart as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowEnd as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnGap as * const _ as usize } , 408usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridColumnGap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStylePosition ) ) . mGridRowGap as * const _ as usize } , 424usize , concat ! ( "Alignment of field: " , stringify ! ( nsStylePosition ) , "::" , stringify ! ( mGridRowGap ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextOverflowSide { pub mString : ::nsstring::nsStringRepr , pub mType : u8 , } # [ test ] fn bindgen_test_layout_nsStyleTextOverflowSide ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextOverflowSide > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextOverflowSide ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextOverflowSide > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextOverflowSide ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflowSide ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mType as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflowSide ) , "::" , stringify ! ( mType ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextOverflow { pub mLeft : root :: nsStyleTextOverflowSide , pub mRight : root :: nsStyleTextOverflowSide , pub mLogicalDirections : bool , } # [ test ] fn bindgen_test_layout_nsStyleTextOverflow ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextOverflow > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextOverflow ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextOverflow > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextOverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mLeft as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mRight as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mRight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextOverflow ) ) . mLogicalDirections as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextOverflow ) , "::" , stringify ! ( mLogicalDirections ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleTextReset { pub mTextOverflow : root :: nsStyleTextOverflow , pub mTextDecorationLine : u8 , pub mTextDecorationStyle : u8 , pub mUnicodeBidi : u8 , pub mInitialLetterSink : root :: nscoord , pub mInitialLetterSize : f32 , pub mTextDecorationColor : root :: mozilla :: StyleComplexColor , } pub const nsStyleTextReset_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTextReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTextReset > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( nsStyleTextReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTextReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTextReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextOverflow as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextOverflow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationLine as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationLine ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationStyle as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mUnicodeBidi as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mUnicodeBidi ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mInitialLetterSink as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mInitialLetterSink ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mInitialLetterSize as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mInitialLetterSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTextReset ) ) . mTextDecorationColor as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTextReset ) , "::" , stringify ! ( mTextDecorationColor ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleText { pub mTextAlign : u8 , pub mTextAlignLast : u8 , pub _bitfield_1 : u8 , pub mTextJustify : root :: mozilla :: StyleTextJustify , pub mTextTransform : u8 , pub mWhiteSpace : root :: mozilla :: StyleWhiteSpace , pub mWordBreak : u8 , pub mOverflowWrap : u8 , pub mHyphens : root :: mozilla :: StyleHyphens , pub mRubyAlign : u8 , pub mRubyPosition : u8 , pub mTextSizeAdjust : u8 , pub mTextCombineUpright : u8 , pub mControlCharacterVisibility : u8 , pub mTextEmphasisPosition : u8 , pub mTextEmphasisStyle : u8 , pub mTextRendering : u8 , pub mTextEmphasisColor : root :: mozilla :: StyleComplexColor , pub mWebkitTextFillColor : root :: mozilla :: StyleComplexColor , pub mWebkitTextStrokeColor : root :: mozilla :: StyleComplexColor , pub mTabSize : root :: nsStyleCoord , pub mWordSpacing : root :: nsStyleCoord , pub mLetterSpacing : root :: nsStyleCoord , pub mLineHeight : root :: nsStyleCoord , pub mTextIndent : root :: nsStyleCoord , pub mWebkitTextStrokeWidth : root :: nscoord , pub mTextShadow : root :: RefPtr < root :: nsCSSShadowArray > , pub mTextEmphasisStyleString : ::nsstring::nsStringRepr , } pub const nsStyleText_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleText ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleText > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( nsStyleText ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleText > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleText ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextAlign as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextAlignLast as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextAlignLast ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextJustify as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextJustify ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextTransform as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWhiteSpace as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWhiteSpace ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWordBreak as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWordBreak ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mOverflowWrap as * const _ as usize } , 7usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mOverflowWrap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mHyphens as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mHyphens ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mRubyAlign as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mRubyAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mRubyPosition as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mRubyPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextSizeAdjust as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextSizeAdjust ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextCombineUpright as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextCombineUpright ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mControlCharacterVisibility as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mControlCharacterVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisPosition as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyle as * const _ as usize } , 15usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextRendering as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisColor as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextFillColor as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextFillColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextStrokeColor as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextStrokeColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTabSize as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTabSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWordSpacing as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWordSpacing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mLetterSpacing as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mLetterSpacing ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mLineHeight as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mLineHeight ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextIndent as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextIndent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mWebkitTextStrokeWidth as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mWebkitTextStrokeWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextShadow as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyleString as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleText ) , "::" , stringify ! ( mTextEmphasisStyleString ) ) ) ; } impl nsStyleText { # [ inline ] pub fn mTextAlignTrue ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mTextAlignTrue ( & mut self , val : bool ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn mTextAlignLastTrue ( & self ) -> bool { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_mTextAlignLastTrue ( & mut self , val : bool ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( mTextAlignTrue : bool , mTextAlignLastTrue : bool ) -> u8 { ( ( 0 | ( ( mTextAlignTrue as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( mTextAlignLastTrue as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleImageOrientation { pub mOrientation : u8 , } pub const nsStyleImageOrientation_Bits_ORIENTATION_MASK : root :: nsStyleImageOrientation_Bits = 3 ; pub const nsStyleImageOrientation_Bits_FLIP_MASK : root :: nsStyleImageOrientation_Bits = 4 ; pub const nsStyleImageOrientation_Bits_FROM_IMAGE_MASK : root :: nsStyleImageOrientation_Bits = 8 ; pub type nsStyleImageOrientation_Bits = :: std :: os :: raw :: c_uint ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleImageOrientation_Angles { ANGLE_0 = 0 , ANGLE_90 = 1 , ANGLE_180 = 2 , ANGLE_270 = 3 , } # [ test ] fn bindgen_test_layout_nsStyleImageOrientation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleImageOrientation > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsStyleImageOrientation ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleImageOrientation > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsStyleImageOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleImageOrientation ) ) . mOrientation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleImageOrientation ) , "::" , stringify ! ( mOrientation ) ) ) ; } impl Clone for nsStyleImageOrientation { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleVisibility { pub mImageOrientation : root :: nsStyleImageOrientation , pub mDirection : u8 , pub mVisible : u8 , pub mImageRendering : u8 , pub mWritingMode : u8 , pub mTextOrientation : u8 , pub mColorAdjust : u8 , } pub const nsStyleVisibility_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleVisibility ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleVisibility > ( ) , 7usize , concat ! ( "Size of: " , stringify ! ( nsStyleVisibility ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleVisibility > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsStyleVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mImageOrientation as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mImageOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mDirection as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mVisible as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mVisible ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mImageRendering as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mImageRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mWritingMode as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mWritingMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mTextOrientation as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mTextOrientation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVisibility ) ) . mColorAdjust as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVisibility ) , "::" , stringify ! ( mColorAdjust ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction { pub mType : root :: nsTimingFunction_Type , pub __bindgen_anon_1 : root :: nsTimingFunction__bindgen_ty_1 , } # [ repr ( i32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsTimingFunction_Type { Ease = 0 , Linear = 1 , EaseIn = 2 , EaseOut = 3 , EaseInOut = 4 , StepStart = 5 , StepEnd = 6 , CubicBezier = 7 , Frames = 8 , } pub const nsTimingFunction_Keyword_Implicit : root :: nsTimingFunction_Keyword = 0 ; pub const nsTimingFunction_Keyword_Explicit : root :: nsTimingFunction_Keyword = 1 ; pub type nsTimingFunction_Keyword = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1 { pub mFunc : root :: __BindgenUnionField < root :: nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_1 : root :: __BindgenUnionField < root :: nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [ u32 ; 4usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1__bindgen_ty_1 { pub mX1 : f32 , pub mY1 : f32 , pub mX2 : f32 , pub mY2 : f32 , } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mX1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mX1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mY1 as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mY1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mX2 as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mX2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) ) . mY2 as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( mY2 ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsTimingFunction__bindgen_ty_1__bindgen_ty_2 { pub mStepsOrFrames : u32 , } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) ) . mStepsOrFrames as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( mStepsOrFrames ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_2 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1 ) ) . mFunc as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction__bindgen_ty_1 ) , "::" , stringify ! ( mFunc ) ) ) ; } impl Clone for nsTimingFunction__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsTimingFunction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsTimingFunction > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( nsTimingFunction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsTimingFunction > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsTimingFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsTimingFunction ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsTimingFunction ) , "::" , stringify ! ( mType ) ) ) ; } impl Clone for nsTimingFunction { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct BindingHolder { pub mPtr : root :: RefPtr < root :: mozilla :: css :: URLValue > , } # [ test ] fn bindgen_test_layout_BindingHolder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < BindingHolder > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( BindingHolder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < BindingHolder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( BindingHolder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const BindingHolder ) ) . mPtr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( BindingHolder ) , "::" , stringify ! ( mPtr ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleDisplay { pub mBinding : root :: BindingHolder , pub mDisplay : root :: mozilla :: StyleDisplay , pub mOriginalDisplay : root :: mozilla :: StyleDisplay , pub mContain : u8 , pub mAppearance : u8 , pub mPosition : u8 , pub mFloat : root :: mozilla :: StyleFloat , pub mOriginalFloat : root :: mozilla :: StyleFloat , pub mBreakType : root :: mozilla :: StyleClear , pub mBreakInside : u8 , pub mBreakBefore : bool , pub mBreakAfter : bool , pub mOverflowX : u8 , pub mOverflowY : u8 , pub mOverflowClipBox : u8 , pub mResize : u8 , pub mOrient : root :: mozilla :: StyleOrient , pub mIsolation : u8 , pub mTopLayer : u8 , pub mWillChangeBitField : u8 , pub mWillChange : root :: nsTArray < root :: RefPtr < root :: nsAtom > > , pub mTouchAction : u8 , pub mScrollBehavior : u8 , pub mOverscrollBehaviorX : root :: mozilla :: StyleOverscrollBehavior , pub mOverscrollBehaviorY : root :: mozilla :: StyleOverscrollBehavior , pub mScrollSnapTypeX : u8 , pub mScrollSnapTypeY : u8 , pub mScrollSnapPointsX : root :: nsStyleCoord , pub mScrollSnapPointsY : root :: nsStyleCoord , pub mScrollSnapDestination : root :: mozilla :: Position , pub mScrollSnapCoordinate : root :: nsTArray < root :: mozilla :: Position > , pub mBackfaceVisibility : u8 , pub mTransformStyle : u8 , pub mTransformBox : root :: nsStyleDisplay_StyleGeometryBox , pub mSpecifiedTransform : root :: RefPtr < root :: nsCSSValueSharedList > , pub mTransformOrigin : [ root :: nsStyleCoord ; 3usize ] , pub mChildPerspective : root :: nsStyleCoord , pub mPerspectiveOrigin : [ root :: nsStyleCoord ; 2usize ] , pub mVerticalAlign : root :: nsStyleCoord , pub mTransitions : root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > , pub mTransitionTimingFunctionCount : u32 , pub mTransitionDurationCount : u32 , pub mTransitionDelayCount : u32 , pub mTransitionPropertyCount : u32 , pub mAnimations : root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > , pub mAnimationTimingFunctionCount : u32 , pub mAnimationDurationCount : u32 , pub mAnimationDelayCount : u32 , pub mAnimationNameCount : u32 , pub mAnimationDirectionCount : u32 , pub mAnimationFillModeCount : u32 , pub mAnimationPlayStateCount : u32 , pub mAnimationIterationCountCount : u32 , pub mShapeOutside : root :: mozilla :: StyleShapeSource , } pub use self :: super :: root :: mozilla :: StyleGeometryBox as nsStyleDisplay_StyleGeometryBox ; pub const nsStyleDisplay_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleDisplay ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleDisplay > ( ) , 416usize , concat ! ( "Size of: " , stringify ! ( nsStyleDisplay ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleDisplay > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBinding as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mDisplay as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalDisplay as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOriginalDisplay ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mContain as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mContain ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAppearance as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAppearance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mPosition as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mFloat as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalFloat as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOriginalFloat ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakType as * const _ as usize } , 15usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakInside as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakInside ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakBefore as * const _ as usize } , 17usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakBefore ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakAfter as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBreakAfter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowX as * const _ as usize } , 19usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowY as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowClipBox as * const _ as usize } , 21usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverflowClipBox ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mResize as * const _ as usize } , 22usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mResize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOrient as * const _ as usize } , 23usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOrient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mIsolation as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mIsolation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTopLayer as * const _ as usize } , 25usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTopLayer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChangeBitField as * const _ as usize } , 26usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mWillChangeBitField ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChange as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mWillChange ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTouchAction as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTouchAction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollBehavior as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollBehavior ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverscrollBehaviorX as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverscrollBehaviorX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mOverscrollBehaviorY as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mOverscrollBehaviorY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeX as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapTypeX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeY as * const _ as usize } , 45usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapTypeY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapPointsX as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapPointsX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapPointsY as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapPointsY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapDestination as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapDestination ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapCoordinate as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mScrollSnapCoordinate ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mBackfaceVisibility as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mBackfaceVisibility ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformStyle as * const _ as usize } , 113usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformBox as * const _ as usize } , 114usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformBox ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mSpecifiedTransform as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mSpecifiedTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformOrigin as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransformOrigin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mChildPerspective as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mChildPerspective ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mPerspectiveOrigin as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mPerspectiveOrigin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mVerticalAlign as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mVerticalAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitions as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionTimingFunctionCount as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionTimingFunctionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionDurationCount as * const _ as usize } , 292usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionDurationCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionDelayCount as * const _ as usize } , 296usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionDelayCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitionPropertyCount as * const _ as usize } , 300usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mTransitionPropertyCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimations as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationTimingFunctionCount as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationTimingFunctionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDurationCount as * const _ as usize } , 364usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDurationCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDelayCount as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDelayCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationNameCount as * const _ as usize } , 372usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationNameCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationDirectionCount as * const _ as usize } , 376usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationDirectionCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationFillModeCount as * const _ as usize } , 380usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationFillModeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationPlayStateCount as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationPlayStateCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimationIterationCountCount as * const _ as usize } , 388usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mAnimationIterationCountCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleDisplay ) ) . mShapeOutside as * const _ as usize } , 392usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleDisplay ) , "::" , stringify ! ( mShapeOutside ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleTable { pub mLayoutStrategy : u8 , pub mSpan : i32 , } pub const nsStyleTable_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTable > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTable > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTable ) ) . mLayoutStrategy as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTable ) , "::" , stringify ! ( mLayoutStrategy ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTable ) ) . mSpan as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTable ) , "::" , stringify ! ( mSpan ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleTableBorder { pub mBorderSpacingCol : root :: nscoord , pub mBorderSpacingRow : root :: nscoord , pub mBorderCollapse : u8 , pub mCaptionSide : u8 , pub mEmptyCells : u8 , } pub const nsStyleTableBorder_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleTableBorder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleTableBorder > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( nsStyleTableBorder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleTableBorder > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleTableBorder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderSpacingCol as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderSpacingCol ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderSpacingRow as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderSpacingRow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mBorderCollapse as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mBorderCollapse ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mCaptionSide as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mCaptionSide ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleTableBorder ) ) . mEmptyCells as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleTableBorder ) , "::" , stringify ! ( mEmptyCells ) ) ) ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleContentType { eStyleContentType_String = 1 , eStyleContentType_Image = 10 , eStyleContentType_Attr = 20 , eStyleContentType_Counter = 30 , eStyleContentType_Counters = 31 , eStyleContentType_OpenQuote = 40 , eStyleContentType_CloseQuote = 41 , eStyleContentType_NoOpenQuote = 42 , eStyleContentType_NoCloseQuote = 43 , eStyleContentType_AltContent = 50 , eStyleContentType_Uninitialized = 51 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleContentData { pub mType : root :: nsStyleContentType , pub mContent : root :: nsStyleContentData__bindgen_ty_1 , } # [ repr ( C ) ] pub struct nsStyleContentData_CounterFunction { pub mIdent : ::nsstring::nsStringRepr , pub mSeparator : ::nsstring::nsStringRepr , pub mCounterStyle : root :: mozilla :: CounterStylePtr , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , } pub type nsStyleContentData_CounterFunction_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_nsStyleContentData_CounterFunction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData_CounterFunction > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData_CounterFunction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData_CounterFunction > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData_CounterFunction ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mIdent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mIdent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mSeparator as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mSeparator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mCounterStyle as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mCounterStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData_CounterFunction ) ) . mRefCnt as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData_CounterFunction ) , "::" , stringify ! ( mRefCnt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleContentData__bindgen_ty_1 { pub mString : root :: __BindgenUnionField < * mut u16 > , pub mImage : root :: __BindgenUnionField < * mut root :: nsStyleImageRequest > , pub mCounters : root :: __BindgenUnionField < * mut root :: nsStyleContentData_CounterFunction > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleContentData__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mImage as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) . mCounters as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( mCounters ) ) ) ; } impl Clone for nsStyleContentData__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleContentData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContentData > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleContentData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContentData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContentData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContentData ) ) . mContent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContentData ) , "::" , stringify ! ( mContent ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleCounterData { pub mCounter : ::nsstring::nsStringRepr , pub mValue : i32 , } # [ test ] fn bindgen_test_layout_nsStyleCounterData ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleCounterData > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleCounterData ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleCounterData > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleCounterData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleCounterData ) ) . mCounter as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleCounterData ) , "::" , stringify ! ( mCounter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleCounterData ) ) . mValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleCounterData ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleContent { pub mContents : root :: nsTArray < root :: nsStyleContentData > , pub mIncrements : root :: nsTArray < root :: nsStyleCounterData > , pub mResets : root :: nsTArray < root :: nsStyleCounterData > , } pub const nsStyleContent_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleContent ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContent > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleContent ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContent > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mContents as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mContents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mIncrements as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mIncrements ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContent ) ) . mResets as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContent ) , "::" , stringify ! ( mResets ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleUIReset { pub mUserSelect : root :: mozilla :: StyleUserSelect , pub mForceBrokenImageIcon : u8 , pub mIMEMode : u8 , pub mWindowDragging : root :: mozilla :: StyleWindowDragging , pub mWindowShadow : u8 , pub mWindowOpacity : f32 , pub mSpecifiedWindowTransform : root :: RefPtr < root :: nsCSSValueSharedList > , pub mWindowTransformOrigin : [ root :: nsStyleCoord ; 2usize ] , } pub const nsStyleUIReset_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleUIReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleUIReset > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( nsStyleUIReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleUIReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleUIReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mUserSelect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mUserSelect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mForceBrokenImageIcon as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mForceBrokenImageIcon ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mIMEMode as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mIMEMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowDragging as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowDragging ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowShadow as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowOpacity as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mSpecifiedWindowTransform as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mSpecifiedWindowTransform ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowTransformOrigin as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUIReset ) , "::" , stringify ! ( mWindowTransformOrigin ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCursorImage { pub mHaveHotspot : bool , pub mHotspotX : f32 , pub mHotspotY : f32 , pub mImage : root :: RefPtr < root :: nsStyleImageRequest > , } # [ test ] fn bindgen_test_layout_nsCursorImage ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCursorImage > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsCursorImage ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCursorImage > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCursorImage ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHaveHotspot as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHaveHotspot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHotspotX as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHotspotX ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mHotspotY as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mHotspotY ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCursorImage ) ) . mImage as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mImage ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleUserInterface { pub mUserInput : root :: mozilla :: StyleUserInput , pub mUserModify : root :: mozilla :: StyleUserModify , pub mUserFocus : root :: mozilla :: StyleUserFocus , pub mPointerEvents : u8 , pub mCursor : u8 , pub mCursorImages : root :: nsTArray < root :: nsCursorImage > , pub mCaretColor : root :: mozilla :: StyleComplexColor , } pub const nsStyleUserInterface_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleUserInterface ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleUserInterface > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsStyleUserInterface ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleUserInterface > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleUserInterface ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserInput as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserInput ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserModify as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserModify ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserFocus as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mUserFocus ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mPointerEvents as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mPointerEvents ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursor as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCursor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursorImages as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCursorImages ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleUserInterface ) ) . mCaretColor as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleUserInterface ) , "::" , stringify ! ( mCaretColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleXUL { pub mBoxFlex : f32 , pub mBoxOrdinal : u32 , pub mBoxAlign : root :: mozilla :: StyleBoxAlign , pub mBoxDirection : root :: mozilla :: StyleBoxDirection , pub mBoxOrient : root :: mozilla :: StyleBoxOrient , pub mBoxPack : root :: mozilla :: StyleBoxPack , pub mStackSizing : root :: mozilla :: StyleStackSizing , } pub const nsStyleXUL_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleXUL ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleXUL > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleXUL ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleXUL > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( nsStyleXUL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxFlex as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxFlex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrdinal as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxOrdinal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxAlign as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxAlign ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxDirection as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxDirection ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrient as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxOrient ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mBoxPack as * const _ as usize } , 11usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mBoxPack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleXUL ) ) . mStackSizing as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" , stringify ! ( mStackSizing ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleColumn { pub mColumnCount : u32 , pub mColumnWidth : root :: nsStyleCoord , pub mColumnGap : root :: nsStyleCoord , pub mColumnRuleColor : root :: mozilla :: StyleComplexColor , pub mColumnRuleStyle : u8 , pub mColumnFill : u8 , pub mColumnSpan : u8 , pub mColumnRuleWidth : root :: nscoord , pub mTwipsPerPixel : root :: nscoord , } pub const nsStyleColumn_kHasFinishStyle : bool = false ; pub const nsStyleColumn_kMaxColumnCount : u32 = 1000 ; # [ test ] fn bindgen_test_layout_nsStyleColumn ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleColumn > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( nsStyleColumn ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleColumn > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleColumn ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnWidth as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnGap as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnGap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleColor as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleStyle as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleStyle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnFill as * const _ as usize } , 49usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnFill ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnSpan as * const _ as usize } , 50usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnSpan ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleWidth as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mColumnRuleWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleColumn ) ) . mTwipsPerPixel as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleColumn ) , "::" , stringify ! ( mTwipsPerPixel ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGPaintType { eStyleSVGPaintType_None = 1 , eStyleSVGPaintType_Color = 2 , eStyleSVGPaintType_Server = 3 , eStyleSVGPaintType_ContextFill = 4 , eStyleSVGPaintType_ContextStroke = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGFallbackType { eStyleSVGFallbackType_NotSet = 0 , eStyleSVGFallbackType_None = 1 , eStyleSVGFallbackType_Color = 2 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsStyleSVGOpacitySource { eStyleSVGOpacitySource_Normal = 0 , eStyleSVGOpacitySource_ContextFillOpacity = 1 , eStyleSVGOpacitySource_ContextStrokeOpacity = 2 , } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVGPaint { pub mPaint : root :: nsStyleSVGPaint__bindgen_ty_1 , pub mType : root :: nsStyleSVGPaintType , pub mFallbackType : root :: nsStyleSVGFallbackType , pub mFallbackColor : root :: nscolor , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleSVGPaint__bindgen_ty_1 { pub mColor : root :: __BindgenUnionField < root :: nscolor > , pub mPaintServer : root :: __BindgenUnionField < * mut root :: mozilla :: css :: URLValue > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGPaint__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGPaint__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . mColor as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( mColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . mPaintServer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( mPaintServer ) ) ) ; } impl Clone for nsStyleSVGPaint__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsStyleSVGPaint ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGPaint > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGPaint ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGPaint > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGPaint ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mPaint as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mPaint ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mFallbackType as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mFallbackType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGPaint ) ) . mFallbackColor as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , "::" , stringify ! ( mFallbackColor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVG { pub mFill : root :: nsStyleSVGPaint , pub mStroke : root :: nsStyleSVGPaint , pub mMarkerEnd : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mMarkerMid : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mMarkerStart : root :: RefPtr < root :: mozilla :: css :: URLValue > , pub mStrokeDasharray : root :: nsTArray < root :: nsStyleCoord > , pub mContextProps : root :: nsTArray < root :: RefPtr < root :: nsAtom > > , pub mStrokeDashoffset : root :: nsStyleCoord , pub mStrokeWidth : root :: nsStyleCoord , pub mFillOpacity : f32 , pub mStrokeMiterlimit : f32 , pub mStrokeOpacity : f32 , pub mClipRule : root :: mozilla :: StyleFillRule , pub mColorInterpolation : u8 , pub mColorInterpolationFilters : u8 , pub mFillRule : root :: mozilla :: StyleFillRule , pub mPaintOrder : u8 , pub mShapeRendering : u8 , pub mStrokeLinecap : u8 , pub mStrokeLinejoin : u8 , pub mTextAnchor : u8 , pub mContextPropsBits : u8 , pub mContextFlags : u8 , } pub const nsStyleSVG_kHasFinishStyle : bool = false ; pub const nsStyleSVG_FILL_OPACITY_SOURCE_MASK : u8 = 3 ; pub const nsStyleSVG_STROKE_OPACITY_SOURCE_MASK : u8 = 12 ; pub const nsStyleSVG_STROKE_DASHARRAY_CONTEXT : u8 = 16 ; pub const nsStyleSVG_STROKE_DASHOFFSET_CONTEXT : u8 = 32 ; pub const nsStyleSVG_STROKE_WIDTH_CONTEXT : u8 = 64 ; pub const nsStyleSVG_FILL_OPACITY_SOURCE_SHIFT : u8 = 0 ; pub const nsStyleSVG_STROKE_OPACITY_SOURCE_SHIFT : u8 = 2 ; # [ test ] fn bindgen_test_layout_nsStyleSVG ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVG > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVG ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVG > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVG ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFill as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFill ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStroke as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStroke ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerEnd as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerEnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerMid as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerMid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerStart as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mMarkerStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDasharray as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeDasharray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextProps as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextProps ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDashoffset as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeDashoffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeWidth as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeWidth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFillOpacity as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFillOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeMiterlimit as * const _ as usize } , 108usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeMiterlimit ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeOpacity as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mClipRule as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mClipRule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolation as * const _ as usize } , 117usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mColorInterpolation ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolationFilters as * const _ as usize } , 118usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mColorInterpolationFilters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mFillRule as * const _ as usize } , 119usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mFillRule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mPaintOrder as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mPaintOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mShapeRendering as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mShapeRendering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinecap as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeLinecap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinejoin as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mStrokeLinejoin ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mTextAnchor as * const _ as usize } , 124usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mTextAnchor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextPropsBits as * const _ as usize } , 125usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextPropsBits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVG ) ) . mContextFlags as * const _ as usize } , 126usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" , stringify ! ( mContextFlags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleFilter { pub mType : u32 , pub mFilterParameter : root :: nsStyleCoord , pub __bindgen_anon_1 : root :: nsStyleFilter__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsStyleFilter__bindgen_ty_1 { pub mURL : root :: __BindgenUnionField < * mut root :: mozilla :: css :: URLValue > , pub mDropShadow : root :: __BindgenUnionField < * mut root :: nsCSSShadowArray > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsStyleFilter__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleFilter__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleFilter__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . mURL as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( mURL ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . mDropShadow as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( mDropShadow ) ) ) ; } impl Clone for nsStyleFilter__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } pub const nsStyleFilter_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleFilter ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleFilter > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsStyleFilter ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleFilter > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleFilter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleFilter ) ) . mFilterParameter as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleFilter ) , "::" , stringify ! ( mFilterParameter ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleSVGReset { pub mMask : root :: nsStyleImageLayers , pub mClipPath : root :: mozilla :: StyleShapeSource , pub mStopColor : root :: nscolor , pub mFloodColor : root :: nscolor , pub mLightingColor : root :: nscolor , pub mStopOpacity : f32 , pub mFloodOpacity : f32 , pub mDominantBaseline : u8 , pub mVectorEffect : u8 , pub mMaskType : u8 , } pub const nsStyleSVGReset_kHasFinishStyle : bool = true ; # [ test ] fn bindgen_test_layout_nsStyleSVGReset ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleSVGReset > ( ) , 200usize , concat ! ( "Size of: " , stringify ! ( nsStyleSVGReset ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleSVGReset > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleSVGReset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mMask as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mMask ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mClipPath as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mClipPath ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopColor as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mStopColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodColor as * const _ as usize } , 180usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mFloodColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mLightingColor as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mLightingColor ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopOpacity as * const _ as usize } , 188usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mStopOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodOpacity as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mFloodOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mDominantBaseline as * const _ as usize } , 196usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mDominantBaseline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mVectorEffect as * const _ as usize } , 197usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mVectorEffect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleSVGReset ) ) . mMaskType as * const _ as usize } , 198usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , "::" , stringify ! ( mMaskType ) ) ) ; } # [ repr ( C ) ] pub struct nsStyleVariables { pub mVariables : root :: mozilla :: CSSVariableValues , } pub const nsStyleVariables_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleVariables ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleVariables > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStyleVariables ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleVariables > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleVariables ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleVariables ) ) . mVariables as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleVariables ) , "::" , stringify ! ( mVariables ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleEffects { pub mFilters : root :: nsTArray < root :: nsStyleFilter > , pub mBoxShadow : root :: RefPtr < root :: nsCSSShadowArray > , pub mClip : root :: nsRect , pub mOpacity : f32 , pub mClipFlags : u8 , pub mMixBlendMode : u8 , } pub const nsStyleEffects_kHasFinishStyle : bool = false ; # [ test ] fn bindgen_test_layout_nsStyleEffects ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleEffects > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsStyleEffects ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleEffects > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleEffects ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mFilters as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mFilters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mBoxShadow as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mBoxShadow ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mClip as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mClip ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mOpacity as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mOpacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mClipFlags as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mClipFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleEffects ) ) . mMixBlendMode as * const _ as usize } , 37usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleEffects ) , "::" , stringify ! ( mMixBlendMode ) ) ) ; } /// These *_Simple types are used to map Gecko types to layout-equivalent but /// simpler Rust types, to aid Rust binding generation. /// @@ -1567,7 +1564,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCOMArray { pub mBuffer : root :: nsTArray < * mut root :: nsISupports > , } pub const ThemeWidgetType_NS_THEME_NONE : root :: ThemeWidgetType = 0 ; pub const ThemeWidgetType_NS_THEME_BUTTON : root :: ThemeWidgetType = 1 ; pub const ThemeWidgetType_NS_THEME_RADIO : root :: ThemeWidgetType = 2 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX : root :: ThemeWidgetType = 3 ; pub const ThemeWidgetType_NS_THEME_BUTTON_BEVEL : root :: ThemeWidgetType = 4 ; pub const ThemeWidgetType_NS_THEME_FOCUS_OUTLINE : root :: ThemeWidgetType = 5 ; pub const ThemeWidgetType_NS_THEME_TOOLBOX : root :: ThemeWidgetType = 6 ; pub const ThemeWidgetType_NS_THEME_TOOLBAR : root :: ThemeWidgetType = 7 ; pub const ThemeWidgetType_NS_THEME_TOOLBARBUTTON : root :: ThemeWidgetType = 8 ; pub const ThemeWidgetType_NS_THEME_DUALBUTTON : root :: ThemeWidgetType = 9 ; pub const ThemeWidgetType_NS_THEME_TOOLBARBUTTON_DROPDOWN : root :: ThemeWidgetType = 10 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_UP : root :: ThemeWidgetType = 11 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_DOWN : root :: ThemeWidgetType = 12 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_NEXT : root :: ThemeWidgetType = 13 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_PREVIOUS : root :: ThemeWidgetType = 14 ; pub const ThemeWidgetType_NS_THEME_SEPARATOR : root :: ThemeWidgetType = 15 ; pub const ThemeWidgetType_NS_THEME_TOOLBARGRIPPER : root :: ThemeWidgetType = 16 ; pub const ThemeWidgetType_NS_THEME_SPLITTER : root :: ThemeWidgetType = 17 ; pub const ThemeWidgetType_NS_THEME_STATUSBAR : root :: ThemeWidgetType = 18 ; pub const ThemeWidgetType_NS_THEME_STATUSBARPANEL : root :: ThemeWidgetType = 19 ; pub const ThemeWidgetType_NS_THEME_RESIZERPANEL : root :: ThemeWidgetType = 20 ; pub const ThemeWidgetType_NS_THEME_RESIZER : root :: ThemeWidgetType = 21 ; pub const ThemeWidgetType_NS_THEME_LISTBOX : root :: ThemeWidgetType = 22 ; pub const ThemeWidgetType_NS_THEME_LISTITEM : root :: ThemeWidgetType = 23 ; pub const ThemeWidgetType_NS_THEME_TREEVIEW : root :: ThemeWidgetType = 24 ; pub const ThemeWidgetType_NS_THEME_TREEITEM : root :: ThemeWidgetType = 25 ; pub const ThemeWidgetType_NS_THEME_TREETWISTY : root :: ThemeWidgetType = 26 ; pub const ThemeWidgetType_NS_THEME_TREELINE : root :: ThemeWidgetType = 27 ; pub const ThemeWidgetType_NS_THEME_TREEHEADER : root :: ThemeWidgetType = 28 ; pub const ThemeWidgetType_NS_THEME_TREEHEADERCELL : root :: ThemeWidgetType = 29 ; pub const ThemeWidgetType_NS_THEME_TREEHEADERSORTARROW : root :: ThemeWidgetType = 30 ; pub const ThemeWidgetType_NS_THEME_TREETWISTYOPEN : root :: ThemeWidgetType = 31 ; pub const ThemeWidgetType_NS_THEME_PROGRESSBAR : root :: ThemeWidgetType = 32 ; pub const ThemeWidgetType_NS_THEME_PROGRESSCHUNK : root :: ThemeWidgetType = 33 ; pub const ThemeWidgetType_NS_THEME_PROGRESSBAR_VERTICAL : root :: ThemeWidgetType = 34 ; pub const ThemeWidgetType_NS_THEME_PROGRESSCHUNK_VERTICAL : root :: ThemeWidgetType = 35 ; pub const ThemeWidgetType_NS_THEME_METERBAR : root :: ThemeWidgetType = 36 ; pub const ThemeWidgetType_NS_THEME_METERCHUNK : root :: ThemeWidgetType = 37 ; pub const ThemeWidgetType_NS_THEME_TAB : root :: ThemeWidgetType = 38 ; pub const ThemeWidgetType_NS_THEME_TABPANEL : root :: ThemeWidgetType = 39 ; pub const ThemeWidgetType_NS_THEME_TABPANELS : root :: ThemeWidgetType = 40 ; pub const ThemeWidgetType_NS_THEME_TAB_SCROLL_ARROW_BACK : root :: ThemeWidgetType = 41 ; pub const ThemeWidgetType_NS_THEME_TAB_SCROLL_ARROW_FORWARD : root :: ThemeWidgetType = 42 ; pub const ThemeWidgetType_NS_THEME_TOOLTIP : root :: ThemeWidgetType = 43 ; pub const ThemeWidgetType_NS_THEME_SPINNER : root :: ThemeWidgetType = 44 ; pub const ThemeWidgetType_NS_THEME_SPINNER_UPBUTTON : root :: ThemeWidgetType = 45 ; pub const ThemeWidgetType_NS_THEME_SPINNER_DOWNBUTTON : root :: ThemeWidgetType = 46 ; pub const ThemeWidgetType_NS_THEME_SPINNER_TEXTFIELD : root :: ThemeWidgetType = 47 ; pub const ThemeWidgetType_NS_THEME_NUMBER_INPUT : root :: ThemeWidgetType = 48 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR : root :: ThemeWidgetType = 49 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_SMALL : root :: ThemeWidgetType = 50 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_HORIZONTAL : root :: ThemeWidgetType = 51 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_VERTICAL : root :: ThemeWidgetType = 52 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_UP : root :: ThemeWidgetType = 53 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_DOWN : root :: ThemeWidgetType = 54 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_LEFT : root :: ThemeWidgetType = 55 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_RIGHT : root :: ThemeWidgetType = 56 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTRACK_HORIZONTAL : root :: ThemeWidgetType = 57 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTRACK_VERTICAL : root :: ThemeWidgetType = 58 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTHUMB_HORIZONTAL : root :: ThemeWidgetType = 59 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTHUMB_VERTICAL : root :: ThemeWidgetType = 60 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_NON_DISAPPEARING : root :: ThemeWidgetType = 61 ; pub const ThemeWidgetType_NS_THEME_TEXTFIELD : root :: ThemeWidgetType = 62 ; pub const ThemeWidgetType_NS_THEME_CARET : root :: ThemeWidgetType = 63 ; pub const ThemeWidgetType_NS_THEME_TEXTFIELD_MULTILINE : root :: ThemeWidgetType = 64 ; pub const ThemeWidgetType_NS_THEME_SEARCHFIELD : root :: ThemeWidgetType = 65 ; pub const ThemeWidgetType_NS_THEME_MENULIST : root :: ThemeWidgetType = 66 ; pub const ThemeWidgetType_NS_THEME_MENULIST_BUTTON : root :: ThemeWidgetType = 67 ; pub const ThemeWidgetType_NS_THEME_MENULIST_TEXT : root :: ThemeWidgetType = 68 ; pub const ThemeWidgetType_NS_THEME_MENULIST_TEXTFIELD : root :: ThemeWidgetType = 69 ; pub const ThemeWidgetType_NS_THEME_SCALE_HORIZONTAL : root :: ThemeWidgetType = 70 ; pub const ThemeWidgetType_NS_THEME_SCALE_VERTICAL : root :: ThemeWidgetType = 71 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMB_HORIZONTAL : root :: ThemeWidgetType = 72 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMB_VERTICAL : root :: ThemeWidgetType = 73 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBSTART : root :: ThemeWidgetType = 74 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBEND : root :: ThemeWidgetType = 75 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBTICK : root :: ThemeWidgetType = 76 ; pub const ThemeWidgetType_NS_THEME_RANGE : root :: ThemeWidgetType = 77 ; pub const ThemeWidgetType_NS_THEME_RANGE_THUMB : root :: ThemeWidgetType = 78 ; pub const ThemeWidgetType_NS_THEME_GROUPBOX : root :: ThemeWidgetType = 79 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX_CONTAINER : root :: ThemeWidgetType = 80 ; pub const ThemeWidgetType_NS_THEME_RADIO_CONTAINER : root :: ThemeWidgetType = 81 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX_LABEL : root :: ThemeWidgetType = 82 ; pub const ThemeWidgetType_NS_THEME_RADIO_LABEL : root :: ThemeWidgetType = 83 ; pub const ThemeWidgetType_NS_THEME_BUTTON_FOCUS : root :: ThemeWidgetType = 84 ; pub const ThemeWidgetType_NS_THEME_WINDOW : root :: ThemeWidgetType = 85 ; pub const ThemeWidgetType_NS_THEME_DIALOG : root :: ThemeWidgetType = 86 ; pub const ThemeWidgetType_NS_THEME_MENUBAR : root :: ThemeWidgetType = 87 ; pub const ThemeWidgetType_NS_THEME_MENUPOPUP : root :: ThemeWidgetType = 88 ; pub const ThemeWidgetType_NS_THEME_MENUITEM : root :: ThemeWidgetType = 89 ; pub const ThemeWidgetType_NS_THEME_CHECKMENUITEM : root :: ThemeWidgetType = 90 ; pub const ThemeWidgetType_NS_THEME_RADIOMENUITEM : root :: ThemeWidgetType = 91 ; pub const ThemeWidgetType_NS_THEME_MENUCHECKBOX : root :: ThemeWidgetType = 92 ; pub const ThemeWidgetType_NS_THEME_MENURADIO : root :: ThemeWidgetType = 93 ; pub const ThemeWidgetType_NS_THEME_MENUSEPARATOR : root :: ThemeWidgetType = 94 ; pub const ThemeWidgetType_NS_THEME_MENUARROW : root :: ThemeWidgetType = 95 ; pub const ThemeWidgetType_NS_THEME_MENUIMAGE : root :: ThemeWidgetType = 96 ; pub const ThemeWidgetType_NS_THEME_MENUITEMTEXT : root :: ThemeWidgetType = 97 ; pub const ThemeWidgetType_NS_THEME_WIN_COMMUNICATIONS_TOOLBOX : root :: ThemeWidgetType = 98 ; pub const ThemeWidgetType_NS_THEME_WIN_MEDIA_TOOLBOX : root :: ThemeWidgetType = 99 ; pub const ThemeWidgetType_NS_THEME_WIN_BROWSERTABBAR_TOOLBOX : root :: ThemeWidgetType = 100 ; pub const ThemeWidgetType_NS_THEME_MAC_FULLSCREEN_BUTTON : root :: ThemeWidgetType = 101 ; pub const ThemeWidgetType_NS_THEME_MAC_HELP_BUTTON : root :: ThemeWidgetType = 102 ; pub const ThemeWidgetType_NS_THEME_WIN_BORDERLESS_GLASS : root :: ThemeWidgetType = 103 ; pub const ThemeWidgetType_NS_THEME_WIN_GLASS : root :: ThemeWidgetType = 104 ; pub const ThemeWidgetType_NS_THEME_WINDOW_TITLEBAR : root :: ThemeWidgetType = 105 ; pub const ThemeWidgetType_NS_THEME_WINDOW_TITLEBAR_MAXIMIZED : root :: ThemeWidgetType = 106 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_LEFT : root :: ThemeWidgetType = 107 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_RIGHT : root :: ThemeWidgetType = 108 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_BOTTOM : root :: ThemeWidgetType = 109 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_CLOSE : root :: ThemeWidgetType = 110 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_MINIMIZE : root :: ThemeWidgetType = 111 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_MAXIMIZE : root :: ThemeWidgetType = 112 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_RESTORE : root :: ThemeWidgetType = 113 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_BOX : root :: ThemeWidgetType = 114 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_BOX_MAXIMIZED : root :: ThemeWidgetType = 115 ; pub const ThemeWidgetType_NS_THEME_WIN_EXCLUDE_GLASS : root :: ThemeWidgetType = 116 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANCY_LIGHT : root :: ThemeWidgetType = 117 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANCY_DARK : root :: ThemeWidgetType = 118 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANT_TITLEBAR_LIGHT : root :: ThemeWidgetType = 119 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANT_TITLEBAR_DARK : root :: ThemeWidgetType = 120 ; pub const ThemeWidgetType_NS_THEME_MAC_DISCLOSURE_BUTTON_OPEN : root :: ThemeWidgetType = 121 ; pub const ThemeWidgetType_NS_THEME_MAC_DISCLOSURE_BUTTON_CLOSED : root :: ThemeWidgetType = 122 ; pub const ThemeWidgetType_NS_THEME_GTK_INFO_BAR : root :: ThemeWidgetType = 123 ; pub const ThemeWidgetType_NS_THEME_MAC_SOURCE_LIST : root :: ThemeWidgetType = 124 ; pub const ThemeWidgetType_NS_THEME_MAC_SOURCE_LIST_SELECTION : root :: ThemeWidgetType = 125 ; pub const ThemeWidgetType_NS_THEME_MAC_ACTIVE_SOURCE_LIST_SELECTION : root :: ThemeWidgetType = 126 ; pub const ThemeWidgetType_ThemeWidgetType_COUNT : root :: ThemeWidgetType = 127 ; pub type ThemeWidgetType = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIConsoleReportCollector { _unused : [ u8 ; 0 ] } /// Utility class to provide scaling defined in a keySplines element. # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsSMILKeySpline { pub mX1 : f64 , pub mY1 : f64 , pub mX2 : f64 , pub mY2 : f64 , pub mSampleValues : [ f64 ; 11usize ] , } pub const nsSMILKeySpline_kSplineTableSize : root :: nsSMILKeySpline__bindgen_ty_1 = 11 ; pub type nsSMILKeySpline__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}__ZN15nsSMILKeySpline15kSampleStepSizeE" ] + # [ link_name = "\u{1}_ZN15nsSMILKeySpline15kSampleStepSizeE" ] pub static mut nsSMILKeySpline_kSampleStepSize : f64 ; } # [ test ] fn bindgen_test_layout_nsSMILKeySpline ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsSMILKeySpline > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( nsSMILKeySpline ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsSMILKeySpline > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsSMILKeySpline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mX1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mX1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mY1 as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mY1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mX2 as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mX2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mY2 as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mY2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mSampleValues as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mSampleValues ) ) ) ; } impl Clone for nsSMILKeySpline { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrName { pub mBits : usize , } # [ test ] fn bindgen_test_layout_nsAttrName ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrName > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsAttrName ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrName > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrName ) ) . mBits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrName ) , "::" , stringify ! ( mBits ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrValue { pub mBits : usize , } pub const nsAttrValue_ValueType_eString : root :: nsAttrValue_ValueType = 0 ; pub const nsAttrValue_ValueType_eAtom : root :: nsAttrValue_ValueType = 2 ; pub const nsAttrValue_ValueType_eInteger : root :: nsAttrValue_ValueType = 3 ; pub const nsAttrValue_ValueType_eColor : root :: nsAttrValue_ValueType = 7 ; pub const nsAttrValue_ValueType_eEnum : root :: nsAttrValue_ValueType = 11 ; pub const nsAttrValue_ValueType_ePercent : root :: nsAttrValue_ValueType = 15 ; pub const nsAttrValue_ValueType_eCSSDeclaration : root :: nsAttrValue_ValueType = 16 ; pub const nsAttrValue_ValueType_eURL : root :: nsAttrValue_ValueType = 17 ; pub const nsAttrValue_ValueType_eImage : root :: nsAttrValue_ValueType = 18 ; pub const nsAttrValue_ValueType_eAtomArray : root :: nsAttrValue_ValueType = 19 ; pub const nsAttrValue_ValueType_eDoubleValue : root :: nsAttrValue_ValueType = 20 ; pub const nsAttrValue_ValueType_eIntMarginValue : root :: nsAttrValue_ValueType = 21 ; pub const nsAttrValue_ValueType_eSVGAngle : root :: nsAttrValue_ValueType = 22 ; pub const nsAttrValue_ValueType_eSVGTypesBegin : root :: nsAttrValue_ValueType = 22 ; pub const nsAttrValue_ValueType_eSVGIntegerPair : root :: nsAttrValue_ValueType = 23 ; pub const nsAttrValue_ValueType_eSVGLength : root :: nsAttrValue_ValueType = 24 ; pub const nsAttrValue_ValueType_eSVGLengthList : root :: nsAttrValue_ValueType = 25 ; pub const nsAttrValue_ValueType_eSVGNumberList : root :: nsAttrValue_ValueType = 26 ; pub const nsAttrValue_ValueType_eSVGNumberPair : root :: nsAttrValue_ValueType = 27 ; pub const nsAttrValue_ValueType_eSVGPathData : root :: nsAttrValue_ValueType = 28 ; pub const nsAttrValue_ValueType_eSVGPointList : root :: nsAttrValue_ValueType = 29 ; pub const nsAttrValue_ValueType_eSVGPreserveAspectRatio : root :: nsAttrValue_ValueType = 30 ; pub const nsAttrValue_ValueType_eSVGStringList : root :: nsAttrValue_ValueType = 31 ; pub const nsAttrValue_ValueType_eSVGTransformList : root :: nsAttrValue_ValueType = 32 ; pub const nsAttrValue_ValueType_eSVGViewBox : root :: nsAttrValue_ValueType = 33 ; pub const nsAttrValue_ValueType_eSVGTypesEnd : root :: nsAttrValue_ValueType = 33 ; pub type nsAttrValue_ValueType = :: std :: os :: raw :: c_uint ; /// Structure for a mapping from int (enum) values to strings. When you use @@ -1583,12 +1580,12 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: pub tag : * const :: std :: os :: raw :: c_char , /// The enum value that maps to this string pub value : i16 , } # [ test ] fn bindgen_test_layout_nsAttrValue_EnumTable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrValue_EnumTable > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsAttrValue_EnumTable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrValue_EnumTable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrValue_EnumTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrValue_EnumTable ) ) . tag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrValue_EnumTable ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrValue_EnumTable ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrValue_EnumTable ) , "::" , stringify ! ( value ) ) ) ; } impl Clone for nsAttrValue_EnumTable { fn clone ( & self ) -> Self { * self } } pub const nsAttrValue_ValueBaseType_eStringBase : root :: nsAttrValue_ValueBaseType = 0 ; pub const nsAttrValue_ValueBaseType_eOtherBase : root :: nsAttrValue_ValueBaseType = 1 ; pub const nsAttrValue_ValueBaseType_eAtomBase : root :: nsAttrValue_ValueBaseType = 2 ; pub const nsAttrValue_ValueBaseType_eIntegerBase : root :: nsAttrValue_ValueBaseType = 3 ; pub type nsAttrValue_ValueBaseType = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}__ZN11nsAttrValue15sEnumTableArrayE" ] + # [ link_name = "\u{1}_ZN11nsAttrValue15sEnumTableArrayE" ] pub static mut nsAttrValue_sEnumTableArray : * mut root :: nsTArray < * const root :: nsAttrValue_EnumTable > ; } # [ test ] fn bindgen_test_layout_nsAttrValue ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrValue > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsAttrValue ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrValue > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrValue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrValue ) ) . mBits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrValue ) , "::" , stringify ! ( mBits ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsMappedAttributes { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrAndChildArray { pub mImpl : * mut root :: nsAttrAndChildArray_Impl , } pub type nsAttrAndChildArray_BorrowedAttrInfo = root :: mozilla :: dom :: BorrowedAttrInfo ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrAndChildArray_InternalAttr { pub mName : root :: nsAttrName , pub mValue : root :: nsAttrValue , } # [ test ] fn bindgen_test_layout_nsAttrAndChildArray_InternalAttr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrAndChildArray_InternalAttr > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsAttrAndChildArray_InternalAttr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrAndChildArray_InternalAttr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrAndChildArray_InternalAttr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_InternalAttr ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_InternalAttr ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_InternalAttr ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_InternalAttr ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsAttrAndChildArray_Impl { pub mAttrAndChildCount : u32 , pub mBufferSize : u32 , pub mMappedAttrs : * mut root :: nsMappedAttributes , pub mBuffer : [ * mut :: std :: os :: raw :: c_void ; 1usize ] , } # [ test ] fn bindgen_test_layout_nsAttrAndChildArray_Impl ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrAndChildArray_Impl > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsAttrAndChildArray_Impl ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrAndChildArray_Impl > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrAndChildArray_Impl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . mAttrAndChildCount as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_Impl ) , "::" , stringify ! ( mAttrAndChildCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . mBufferSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_Impl ) , "::" , stringify ! ( mBufferSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . mMappedAttrs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_Impl ) , "::" , stringify ! ( mMappedAttrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . mBuffer as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray_Impl ) , "::" , stringify ! ( mBuffer ) ) ) ; } impl Clone for nsAttrAndChildArray_Impl { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsAttrAndChildArray ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrAndChildArray > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsAttrAndChildArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrAndChildArray > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrAndChildArray ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrAndChildArray ) ) . mImpl as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrAndChildArray ) , "::" , stringify ! ( mImpl ) ) ) ; } /// An internal interface # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIHTMLCollection { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIHTMLCollection_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIHTMLCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIHTMLCollection > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIHTMLCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIHTMLCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIHTMLCollection ) ) ) ; } impl Clone for nsIHTMLCollection { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsXBLDocumentInfo { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIStyleRuleProcessor { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIStyleRuleProcessor_COMTypeInfo { pub _address : u8 , } pub type nsIStyleRuleProcessor_EnumFunc = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut root :: nsIStyleRuleProcessor , arg2 : * mut :: std :: os :: raw :: c_void ) -> bool > ; # [ test ] fn bindgen_test_layout_nsIStyleRuleProcessor ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIStyleRuleProcessor > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIStyleRuleProcessor ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIStyleRuleProcessor > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIStyleRuleProcessor ) ) ) ; } impl Clone for nsIStyleRuleProcessor { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsXBLPrototypeBinding { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsAnonymousContentList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct nsXBLBinding { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mMarkedForDeath : bool , pub mUsingContentXBLScope : bool , pub mIsShadowRootBinding : bool , pub mPrototypeBinding : * mut root :: nsXBLPrototypeBinding , pub mContent : root :: nsCOMPtr , pub mNextBinding : root :: RefPtr < root :: nsXBLBinding > , pub mBoundElement : * mut root :: nsIContent , pub mDefaultInsertionPoint : root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > , pub mInsertionPoints : root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > , pub mAnonymousContentList : root :: RefPtr < root :: nsAnonymousContentList > , } pub type nsXBLBinding_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsXBLBinding_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_nsXBLBinding_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsXBLBinding_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsXBLBinding_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsXBLBinding_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsXBLBinding_cycleCollection ) ) ) ; } impl Clone for nsXBLBinding_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}__ZN12nsXBLBinding21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN12nsXBLBinding21_cycleCollectorGlobalE" ] pub static mut nsXBLBinding__cycleCollectorGlobal : root :: nsXBLBinding_cycleCollection ; } # [ test ] fn bindgen_test_layout_nsXBLBinding ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsXBLBinding > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( nsXBLBinding ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsXBLBinding > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsXBLBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mMarkedForDeath as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mMarkedForDeath ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mUsingContentXBLScope as * const _ as usize } , 9usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mUsingContentXBLScope ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mIsShadowRootBinding as * const _ as usize } , 10usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mIsShadowRootBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mPrototypeBinding as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mPrototypeBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mContent as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mContent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mNextBinding as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mNextBinding ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mBoundElement as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mBoundElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mDefaultInsertionPoint as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mDefaultInsertionPoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mInsertionPoints as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mInsertionPoints ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsXBLBinding ) ) . mAnonymousContentList as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsXBLBinding ) , "::" , stringify ! ( mAnonymousContentList ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsLabelsNodeList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsDOMTokenList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsDOMStringMap { _unused : [ u8 ; 0 ] } /// A class that implements nsIWeakReference @@ -1616,11 +1613,11 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrHashKey { pub _base : root :: PLDHashEntryHdr , pub mKey : root :: nsAttrKey , } pub type nsAttrHashKey_KeyType = * const root :: nsAttrKey ; pub type nsAttrHashKey_KeyTypePointer = * const root :: nsAttrKey ; pub const nsAttrHashKey_ALLOW_MEMMOVE : root :: nsAttrHashKey__bindgen_ty_1 = 1 ; pub type nsAttrHashKey__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsAttrHashKey ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrHashKey > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( nsAttrHashKey ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrHashKey > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrHashKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrHashKey ) ) . mKey as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrHashKey ) , "::" , stringify ! ( mKey ) ) ) ; } # [ repr ( C ) ] pub struct nsDOMAttributeMap { pub _base : root :: nsIDOMMozNamedAttrMap , pub _base_1 : root :: nsWrapperCache , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mContent : root :: nsCOMPtr , /// Cache of Attrs. pub mAttributeCache : root :: nsDOMAttributeMap_AttrCache , } pub type nsDOMAttributeMap_Attr = root :: mozilla :: dom :: Attr ; pub type nsDOMAttributeMap_Element = root :: mozilla :: dom :: Element ; pub type nsDOMAttributeMap_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsDOMAttributeMap_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_nsDOMAttributeMap_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsDOMAttributeMap_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsDOMAttributeMap_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsDOMAttributeMap_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsDOMAttributeMap_cycleCollection ) ) ) ; } impl Clone for nsDOMAttributeMap_cycleCollection { fn clone ( & self ) -> Self { * self } } pub type nsDOMAttributeMap_AttrCache = [ u64 ; 4usize ] ; extern "C" { - # [ link_name = "\u{1}__ZN17nsDOMAttributeMap21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN17nsDOMAttributeMap21_cycleCollectorGlobalE" ] pub static mut nsDOMAttributeMap__cycleCollectorGlobal : root :: nsDOMAttributeMap_cycleCollection ; } # [ test ] fn bindgen_test_layout_nsDOMAttributeMap ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsDOMAttributeMap > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( nsDOMAttributeMap ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsDOMAttributeMap > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsDOMAttributeMap ) ) ) ; } # [ repr ( C ) ] pub struct nsISMILAttr__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; /// - # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsISMILAttr { pub vtable_ : * const nsISMILAttr__bindgen_vtable , } # [ test ] fn bindgen_test_layout_nsISMILAttr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsISMILAttr > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsISMILAttr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsISMILAttr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsISMILAttr ) ) ) ; } pub const ELEMENT_SHARED_RESTYLE_BIT_1 : root :: _bindgen_ty_20 = 8388608 ; pub const ELEMENT_SHARED_RESTYLE_BIT_2 : root :: _bindgen_ty_20 = 16777216 ; pub const ELEMENT_SHARED_RESTYLE_BIT_3 : root :: _bindgen_ty_20 = 33554432 ; pub const ELEMENT_SHARED_RESTYLE_BIT_4 : root :: _bindgen_ty_20 = 67108864 ; pub const ELEMENT_SHARED_RESTYLE_BITS : root :: _bindgen_ty_20 = 125829120 ; pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_20 = 8388608 ; pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_20 = 16777216 ; pub const ELEMENT_HAS_SNAPSHOT : root :: _bindgen_ty_20 = 33554432 ; pub const ELEMENT_HANDLED_SNAPSHOT : root :: _bindgen_ty_20 = 67108864 ; pub const ELEMENT_HAS_PENDING_RESTYLE : root :: _bindgen_ty_20 = 8388608 ; pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT : root :: _bindgen_ty_20 = 16777216 ; pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE : root :: _bindgen_ty_20 = 33554432 ; pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT : root :: _bindgen_ty_20 = 67108864 ; pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR : root :: _bindgen_ty_20 = 134217728 ; pub const ELEMENT_HAS_CHILD_WITH_LATER_SIBLINGS_HINT : root :: _bindgen_ty_20 = 268435456 ; pub const ELEMENT_PENDING_RESTYLE_FLAGS : root :: _bindgen_ty_20 = 41943040 ; pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS : root :: _bindgen_ty_20 = 83886080 ; pub const ELEMENT_ALL_RESTYLE_FLAGS : root :: _bindgen_ty_20 = 260046848 ; pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET : root :: _bindgen_ty_20 = 27 ; pub type _bindgen_ty_20 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ServoBundledURI { pub mURLString : * const u8 , pub mURLStringLength : u32 , pub mExtraData : * mut root :: mozilla :: URLExtraData , } # [ test ] fn bindgen_test_layout_ServoBundledURI ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoBundledURI > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoBundledURI > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLStringLength as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLStringLength ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mExtraData as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mExtraData ) ) ) ; } impl Clone for ServoBundledURI { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FontSizePrefs { pub mDefaultVariableSize : root :: nscoord , pub mDefaultFixedSize : root :: nscoord , pub mDefaultSerifSize : root :: nscoord , pub mDefaultSansSerifSize : root :: nscoord , pub mDefaultMonospaceSize : root :: nscoord , pub mDefaultCursiveSize : root :: nscoord , pub mDefaultFantasySize : root :: nscoord , } # [ test ] fn bindgen_test_layout_FontSizePrefs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontSizePrefs > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontSizePrefs > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultVariableSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultVariableSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFixedSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFixedSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSerifSize as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSansSerifSize as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSansSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultMonospaceSize as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultMonospaceSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultCursiveSize as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultCursiveSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFantasySize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFantasySize ) ) ) ; } impl Clone for FontSizePrefs { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct GeckoFontMetrics { pub mChSize : root :: nscoord , pub mXSize : root :: nscoord , } # [ test ] fn bindgen_test_layout_GeckoFontMetrics ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoFontMetrics > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoFontMetrics > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mChSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mChSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mXSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mXSize ) ) ) ; } impl Clone for GeckoFontMetrics { fn clone ( & self ) -> Self { * self } } pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_after : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_before : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_backdrop : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_cue : u32 = 36 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLetter : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLine : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozSelection : u32 = 2 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusInner : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusOuter : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListBullet : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListNumber : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMathAnonymous : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberWrapper : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberText : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinBox : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinUp : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinDown : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozProgressBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeTrack : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeProgress : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeThumb : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMeterBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozPlaceholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_placeholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozColorSwatch : u32 = 12 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMMediaList { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMMediaList_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMMediaList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMMediaList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMMediaList ) ) ) ; } impl Clone for nsIDOMMediaList { fn clone ( & self ) -> Self { * self } } pub type nsCSSAnonBoxes_NonInheritingBase = u8 ; pub const nsCSSAnonBoxes_NonInheriting_oofPlaceholder : root :: nsCSSAnonBoxes_NonInheriting = 0 ; pub const nsCSSAnonBoxes_NonInheriting_horizontalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 1 ; pub const nsCSSAnonBoxes_NonInheriting_verticalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 2 ; pub const nsCSSAnonBoxes_NonInheriting_framesetBlank : root :: nsCSSAnonBoxes_NonInheriting = 3 ; pub const nsCSSAnonBoxes_NonInheriting_tableColGroup : root :: nsCSSAnonBoxes_NonInheriting = 4 ; pub const nsCSSAnonBoxes_NonInheriting_tableCol : root :: nsCSSAnonBoxes_NonInheriting = 5 ; pub const nsCSSAnonBoxes_NonInheriting_pageBreak : root :: nsCSSAnonBoxes_NonInheriting = 6 ; pub const nsCSSAnonBoxes_NonInheriting__Count : root :: nsCSSAnonBoxes_NonInheriting = 7 ; pub type nsCSSAnonBoxes_NonInheriting = root :: nsCSSAnonBoxes_NonInheritingBase ; + # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsISMILAttr { pub vtable_ : * const nsISMILAttr__bindgen_vtable , } # [ test ] fn bindgen_test_layout_nsISMILAttr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsISMILAttr > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsISMILAttr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsISMILAttr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsISMILAttr ) ) ) ; } pub const ELEMENT_SHARED_RESTYLE_BIT_1 : root :: _bindgen_ty_74 = 8388608 ; pub const ELEMENT_SHARED_RESTYLE_BIT_2 : root :: _bindgen_ty_74 = 16777216 ; pub const ELEMENT_SHARED_RESTYLE_BIT_3 : root :: _bindgen_ty_74 = 33554432 ; pub const ELEMENT_SHARED_RESTYLE_BIT_4 : root :: _bindgen_ty_74 = 67108864 ; pub const ELEMENT_SHARED_RESTYLE_BITS : root :: _bindgen_ty_74 = 125829120 ; pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_74 = 8388608 ; pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_74 = 16777216 ; pub const ELEMENT_HAS_SNAPSHOT : root :: _bindgen_ty_74 = 33554432 ; pub const ELEMENT_HANDLED_SNAPSHOT : root :: _bindgen_ty_74 = 67108864 ; pub const ELEMENT_HAS_PENDING_RESTYLE : root :: _bindgen_ty_74 = 8388608 ; pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT : root :: _bindgen_ty_74 = 16777216 ; pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE : root :: _bindgen_ty_74 = 33554432 ; pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT : root :: _bindgen_ty_74 = 67108864 ; pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR : root :: _bindgen_ty_74 = 134217728 ; pub const ELEMENT_HAS_CHILD_WITH_LATER_SIBLINGS_HINT : root :: _bindgen_ty_74 = 268435456 ; pub const ELEMENT_PENDING_RESTYLE_FLAGS : root :: _bindgen_ty_74 = 41943040 ; pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS : root :: _bindgen_ty_74 = 83886080 ; pub const ELEMENT_ALL_RESTYLE_FLAGS : root :: _bindgen_ty_74 = 260046848 ; pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET : root :: _bindgen_ty_74 = 27 ; pub type _bindgen_ty_74 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ServoBundledURI { pub mURLString : * const u8 , pub mURLStringLength : u32 , pub mExtraData : * mut root :: mozilla :: URLExtraData , } # [ test ] fn bindgen_test_layout_ServoBundledURI ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoBundledURI > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoBundledURI > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLStringLength as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLStringLength ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mExtraData as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mExtraData ) ) ) ; } impl Clone for ServoBundledURI { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FontSizePrefs { pub mDefaultVariableSize : root :: nscoord , pub mDefaultFixedSize : root :: nscoord , pub mDefaultSerifSize : root :: nscoord , pub mDefaultSansSerifSize : root :: nscoord , pub mDefaultMonospaceSize : root :: nscoord , pub mDefaultCursiveSize : root :: nscoord , pub mDefaultFantasySize : root :: nscoord , } # [ test ] fn bindgen_test_layout_FontSizePrefs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontSizePrefs > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontSizePrefs > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultVariableSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultVariableSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFixedSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFixedSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSerifSize as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSansSerifSize as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSansSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultMonospaceSize as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultMonospaceSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultCursiveSize as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultCursiveSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFantasySize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFantasySize ) ) ) ; } impl Clone for FontSizePrefs { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct GeckoFontMetrics { pub mChSize : root :: nscoord , pub mXSize : root :: nscoord , } # [ test ] fn bindgen_test_layout_GeckoFontMetrics ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoFontMetrics > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoFontMetrics > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mChSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mChSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mXSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mXSize ) ) ) ; } impl Clone for GeckoFontMetrics { fn clone ( & self ) -> Self { * self } } pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_after : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_before : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_backdrop : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_cue : u32 = 36 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLetter : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLine : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozSelection : u32 = 2 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusInner : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusOuter : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListBullet : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListNumber : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMathAnonymous : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberWrapper : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberText : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinBox : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinUp : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinDown : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozProgressBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeTrack : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeProgress : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeThumb : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMeterBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozPlaceholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_placeholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozColorSwatch : u32 = 12 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMMediaList { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMMediaList_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMMediaList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMMediaList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMMediaList ) ) ) ; } impl Clone for nsIDOMMediaList { fn clone ( & self ) -> Self { * self } } pub type nsCSSAnonBoxes_NonInheritingBase = u8 ; pub const nsCSSAnonBoxes_NonInheriting_oofPlaceholder : root :: nsCSSAnonBoxes_NonInheriting = 0 ; pub const nsCSSAnonBoxes_NonInheriting_horizontalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 1 ; pub const nsCSSAnonBoxes_NonInheriting_verticalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 2 ; pub const nsCSSAnonBoxes_NonInheriting_framesetBlank : root :: nsCSSAnonBoxes_NonInheriting = 3 ; pub const nsCSSAnonBoxes_NonInheriting_tableColGroup : root :: nsCSSAnonBoxes_NonInheriting = 4 ; pub const nsCSSAnonBoxes_NonInheriting_tableCol : root :: nsCSSAnonBoxes_NonInheriting = 5 ; pub const nsCSSAnonBoxes_NonInheriting_pageBreak : root :: nsCSSAnonBoxes_NonInheriting = 6 ; pub const nsCSSAnonBoxes_NonInheriting__Count : root :: nsCSSAnonBoxes_NonInheriting = 7 ; pub type nsCSSAnonBoxes_NonInheriting = root :: nsCSSAnonBoxes_NonInheritingBase ; /// templated hashtable class maps keys to interface pointers. /// See nsBaseHashtable for complete declaration. /// @param KeyClass a wrapper-class for the hashtable key, see nsHashKeys.h @@ -1628,7 +1625,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// @param Interface the interface-type being wrapped /// @see nsDataHashtable, nsClassHashtable # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsInterfaceHashtable { pub _address : u8 , } pub type nsInterfaceHashtable_KeyType = [ u8 ; 0usize ] ; pub type nsInterfaceHashtable_UserDataType < Interface > = * mut Interface ; pub type nsInterfaceHashtable_base_type = u8 ; pub type nsBindingList = root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ; # [ repr ( C ) ] pub struct nsBindingManager { pub _base : root :: nsStubMutationObserver , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mBoundContentSet : u64 , pub mWrapperTable : root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > , pub mDocumentTable : u64 , pub mLoadingDocTable : u64 , pub mAttachedStack : root :: nsBindingList , pub mProcessingAttachedStack : bool , pub mDestroyed : bool , pub mAttachedStackSizeOnOutermost : u32 , pub mProcessAttachedQueueEvent : u64 , pub mDocument : * mut root :: nsIDocument , } pub type nsBindingManager_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; pub const nsBindingManager_DestructorHandling_eRunDtor : root :: nsBindingManager_DestructorHandling = 0 ; pub const nsBindingManager_DestructorHandling_eDoNotRunDtor : root :: nsBindingManager_DestructorHandling = 1 ; pub type nsBindingManager_DestructorHandling = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsBindingManager_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_nsBindingManager_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsBindingManager_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsBindingManager_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsBindingManager_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsBindingManager_cycleCollection ) ) ) ; } impl Clone for nsBindingManager_cycleCollection { fn clone ( & self ) -> Self { * self } } pub type nsBindingManager_BoundContentBindingCallback = root :: std :: function ; pub type nsBindingManager_WrapperHashtable = u8 ; extern "C" { - # [ link_name = "\u{1}__ZN16nsBindingManager21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN16nsBindingManager21_cycleCollectorGlobalE" ] pub static mut nsBindingManager__cycleCollectorGlobal : root :: nsBindingManager_cycleCollection ; } # [ test ] fn bindgen_test_layout_nsBindingManager ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsBindingManager > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( nsBindingManager ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsBindingManager > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsBindingManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mRefCnt as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mBoundContentSet as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mBoundContentSet ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mWrapperTable as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mWrapperTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mDocumentTable as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mDocumentTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mLoadingDocTable as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mLoadingDocTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mAttachedStack as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mAttachedStack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mProcessingAttachedStack as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mProcessingAttachedStack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mDestroyed as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mDestroyed ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mAttachedStackSizeOnOutermost as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mAttachedStackSizeOnOutermost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mProcessAttachedQueueEvent as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mProcessAttachedQueueEvent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsBindingManager ) ) . mDocument as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( nsBindingManager ) , "::" , stringify ! ( mDocument ) ) ) ; } /// An nsStyleContext represents the computed style data for an element. @@ -1649,12 +1646,12 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// 2. any *child* style contexts (this might be the reverse of /// expectation, but it makes sense in this case) # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsStyleContext { pub mPseudoTag : root :: RefPtr < root :: nsAtom > , pub mBits : u64 , } # [ test ] fn bindgen_test_layout_nsStyleContext ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyleContext > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsStyleContext ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyleContext > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyleContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContext ) ) . mPseudoTag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContext ) , "::" , stringify ! ( mPseudoTag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsStyleContext ) ) . mBits as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsStyleContext ) , "::" , stringify ! ( mBits ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMCSSRule { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMCSSRule_COMTypeInfo { pub _address : u8 , } pub const nsIDOMCSSRule_UNKNOWN_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 0 ; pub const nsIDOMCSSRule_STYLE_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 1 ; pub const nsIDOMCSSRule_CHARSET_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 2 ; pub const nsIDOMCSSRule_IMPORT_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 3 ; pub const nsIDOMCSSRule_MEDIA_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 4 ; pub const nsIDOMCSSRule_FONT_FACE_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 5 ; pub const nsIDOMCSSRule_PAGE_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 6 ; pub const nsIDOMCSSRule_KEYFRAMES_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 7 ; pub const nsIDOMCSSRule_KEYFRAME_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 8 ; pub const nsIDOMCSSRule_MOZ_KEYFRAMES_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 7 ; pub const nsIDOMCSSRule_MOZ_KEYFRAME_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 8 ; pub const nsIDOMCSSRule_NAMESPACE_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 10 ; pub const nsIDOMCSSRule_COUNTER_STYLE_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 11 ; pub const nsIDOMCSSRule_SUPPORTS_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 12 ; pub const nsIDOMCSSRule_DOCUMENT_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 13 ; pub const nsIDOMCSSRule_FONT_FEATURE_VALUES_RULE : root :: nsIDOMCSSRule__bindgen_ty_1 = 14 ; pub type nsIDOMCSSRule__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsIDOMCSSRule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMCSSRule > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMCSSRule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMCSSRule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMCSSRule ) ) ) ; } impl Clone for nsIDOMCSSRule { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMCSSCounterStyleRule { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMCSSCounterStyleRule_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMCSSCounterStyleRule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMCSSCounterStyleRule > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMCSSCounterStyleRule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMCSSCounterStyleRule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMCSSCounterStyleRule ) ) ) ; } impl Clone for nsIDOMCSSCounterStyleRule { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSCounterStyleRule { pub _base : root :: mozilla :: css :: Rule , pub _base_1 : root :: nsIDOMCSSCounterStyleRule , pub mName : root :: RefPtr < root :: nsAtom > , pub mValues : [ root :: nsCSSValue ; 10usize ] , pub mGeneration : u32 , } pub type nsCSSCounterStyleRule_Getter = :: std :: option :: Option < unsafe extern "C" fn ( ) -> root :: nsresult > ; extern "C" { - # [ link_name = "\u{1}__ZN21nsCSSCounterStyleRule8kGettersE" ] + # [ link_name = "\u{1}_ZN21nsCSSCounterStyleRule8kGettersE" ] pub static mut nsCSSCounterStyleRule_kGetters : [ root :: nsCSSCounterStyleRule_Getter ; 0usize ] ; } # [ test ] fn bindgen_test_layout_nsCSSCounterStyleRule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSCounterStyleRule > ( ) , 248usize , concat ! ( "Size of: " , stringify ! ( nsCSSCounterStyleRule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSCounterStyleRule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSCounterStyleRule ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMCSSStyleDeclaration { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMCSSStyleDeclaration_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMCSSStyleDeclaration ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMCSSStyleDeclaration > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMCSSStyleDeclaration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMCSSStyleDeclaration > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMCSSStyleDeclaration ) ) ) ; } impl Clone for nsIDOMCSSStyleDeclaration { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsICSSDeclaration { pub _base : root :: nsIDOMCSSStyleDeclaration , pub _base_1 : root :: nsWrapperCache , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsICSSDeclaration_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsICSSDeclaration ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsICSSDeclaration > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( nsICSSDeclaration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsICSSDeclaration > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsICSSDeclaration ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMCSSFontFaceRule { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMCSSFontFaceRule_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMCSSFontFaceRule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMCSSFontFaceRule > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMCSSFontFaceRule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMCSSFontFaceRule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMCSSFontFaceRule ) ) ) ; } impl Clone for nsIDOMCSSFontFaceRule { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSFontFaceStyleDecl { pub _base : root :: nsICSSDeclaration , pub mDescriptors : root :: mozilla :: CSSFontFaceDescriptors , } # [ test ] fn bindgen_test_layout_nsCSSFontFaceStyleDecl ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSFontFaceStyleDecl > ( ) , 176usize , concat ! ( "Size of: " , stringify ! ( nsCSSFontFaceStyleDecl ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSFontFaceStyleDecl > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSFontFaceStyleDecl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsCSSFontFaceStyleDecl ) ) . mDescriptors as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsCSSFontFaceStyleDecl ) , "::" , stringify ! ( mDescriptors ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCSSFontFaceRule { pub _base : root :: mozilla :: css :: Rule , pub _base_1 : root :: nsIDOMCSSFontFaceRule , pub mDecl : root :: nsCSSFontFaceStyleDecl , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsCSSFontFaceRule_cycleCollection { pub _base : root :: mozilla :: css :: Rule_cycleCollection , } # [ test ] fn bindgen_test_layout_nsCSSFontFaceRule_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSFontFaceRule_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsCSSFontFaceRule_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSFontFaceRule_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSFontFaceRule_cycleCollection ) ) ) ; } impl Clone for nsCSSFontFaceRule_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { - # [ link_name = "\u{1}__ZN17nsCSSFontFaceRule21_cycleCollectorGlobalE" ] + # [ link_name = "\u{1}_ZN17nsCSSFontFaceRule21_cycleCollectorGlobalE" ] pub static mut nsCSSFontFaceRule__cycleCollectorGlobal : root :: nsCSSFontFaceRule_cycleCollection ; } # [ test ] fn bindgen_test_layout_nsCSSFontFaceRule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsCSSFontFaceRule > ( ) , 248usize , concat ! ( "Size of: " , stringify ! ( nsCSSFontFaceRule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsCSSFontFaceRule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsCSSFontFaceRule ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsFontFaceRuleContainer { pub mRule : root :: RefPtr < root :: nsCSSFontFaceRule > , pub mSheetType : root :: mozilla :: SheetType , } # [ test ] fn bindgen_test_layout_nsFontFaceRuleContainer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsFontFaceRuleContainer > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( nsFontFaceRuleContainer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsFontFaceRuleContainer > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsFontFaceRuleContainer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFontFaceRuleContainer ) ) . mRule as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsFontFaceRuleContainer ) , "::" , stringify ! ( mRule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsFontFaceRuleContainer ) ) . mSheetType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsFontFaceRuleContainer ) , "::" , stringify ! ( mSheetType ) ) ) ; } pub type nsMediaFeatureValueGetter = :: std :: option :: Option < unsafe extern "C" fn ( aPresContext : * mut root :: nsPresContext , aFeature : * const root :: nsMediaFeature , aResult : * mut root :: nsCSSValue ) > ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeature { pub mName : * mut * mut root :: nsStaticAtom , pub mRangeType : root :: nsMediaFeature_RangeType , pub mValueType : root :: nsMediaFeature_ValueType , pub mReqFlags : u8 , pub mData : root :: nsMediaFeature__bindgen_ty_1 , pub mGetter : root :: nsMediaFeatureValueGetter , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsMediaFeature_RangeType { eMinMaxAllowed = 0 , eMinMaxNotAllowed = 1 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsMediaFeature_ValueType { eLength = 0 , eInteger = 1 , eFloat = 2 , eBoolInteger = 3 , eIntRatio = 4 , eResolution = 5 , eEnumerated = 6 , eIdent = 7 , } pub const nsMediaFeature_RequirementFlags_eNoRequirements : root :: nsMediaFeature_RequirementFlags = 0 ; pub const nsMediaFeature_RequirementFlags_eHasWebkitPrefix : root :: nsMediaFeature_RequirementFlags = 1 ; pub const nsMediaFeature_RequirementFlags_eWebkitDevicePixelRatioPrefEnabled : root :: nsMediaFeature_RequirementFlags = 2 ; pub const nsMediaFeature_RequirementFlags_eUserAgentAndChromeOnly : root :: nsMediaFeature_RequirementFlags = 4 ; pub type nsMediaFeature_RequirementFlags = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeature__bindgen_ty_1 { pub mInitializer_ : root :: __BindgenUnionField < * const :: std :: os :: raw :: c_void > , pub mKeywordTable : root :: __BindgenUnionField < * const root :: nsCSSProps_KTableEntry > , pub mMetric : root :: __BindgenUnionField < * const * const root :: nsAtom > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsMediaFeature__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeature__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeature__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mInitializer_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mInitializer_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mKeywordTable as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mKeywordTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mMetric as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mMetric ) ) ) ; } impl Clone for nsMediaFeature__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsMediaFeature ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeature > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeature ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeature > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeature ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mRangeType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mRangeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mValueType as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mValueType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mReqFlags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mReqFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mData as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mGetter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mGetter ) ) ) ; } impl Clone for nsMediaFeature { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeatures { pub _address : u8 , } extern "C" { - # [ link_name = "\u{1}__ZN15nsMediaFeatures8featuresE" ] + # [ link_name = "\u{1}_ZN15nsMediaFeatures8featuresE" ] pub static mut nsMediaFeatures_features : [ root :: nsMediaFeature ; 0usize ] ; -} # [ test ] fn bindgen_test_layout_nsMediaFeatures ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeatures ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeatures ) ) ) ; } impl Clone for nsMediaFeatures { fn clone ( & self ) -> Self { * self } } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < u16 > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < u16 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ::nsstring::nsStringRepr > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ::nsstring::nsStringRepr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation ( ) { 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_open0_CSSVariableValues_Variable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_FontFamilyName_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_RefPtr_open1_SharedFontList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_SharedFontList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeatureValueSet_ValueList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxAlternateValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeature_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation ( ) { 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_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation ( ) { 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_open0_JSErrorNotes_close0_instantiation ( ) { 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_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long_ptr_UniquePtr_ref_UniquePtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_2 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_2 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_3 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_3 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_4 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_4 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_5 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_5 ( ) { 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_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_close0_instantiation_1 ( ) { 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_RefPtr_open0_StyleSheet_close0_instantiation ( ) { 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_open0_MediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_1 ( ) { 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_nsTArray_open0_StyleSetHandle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProfilerBacktrace_ProfilerBacktraceDestructor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsNodeInfoManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation ( ) { 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_open0_nsIPrincipal_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAttrChildContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation ( ) { 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_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation_1 ( ) { 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_RefPtr_open0_NodeInfo_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation ( ) { 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_open0_ptr_void_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_void_close0_instantiation ( ) { 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_StaticRefPtr_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsPresContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsFrameSelection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation ( ) { 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_open0_WeakFrame_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation ( ) { 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_nsCOMPtr_open0_EventTarget_close0_instantiation ( ) { 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_open0_nsIDocument_close0_instantiation_1 ( ) { 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_open0_nsIURI_close0_instantiation ( ) { 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_open0_nsIURI_close0_instantiation_1 ( ) { 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_open0_EventTarget_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Performance_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_TimeoutManager_DefaultDelete_open1_TimeoutManager_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_TimeoutManager_close0_instantiation ( ) { 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_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation ( ) { 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_open0_nsIContent_close0_instantiation ( ) { 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_open0_ptr_AudioContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowInner_close0_instantiation ( ) { 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_open0_EventTarget_close0_instantiation_2 ( ) { 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_open0_nsIDocument_close0_instantiation_2 ( ) { 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_open0_nsIURI_close0_instantiation_2 ( ) { 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_open0_nsIURI_close0_instantiation_3 ( ) { 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_open0_EventTarget_close0_instantiation_3 ( ) { 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_open0_Element_close0_instantiation ( ) { 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_open0_nsIDocShell_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation_1 ( ) { 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_open0_nsIURI_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , 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_nsCOMPtr_open0_nsIDocument_close0_instantiation_3 ( ) { 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_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation ( ) { 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_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation ( ) { 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_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation_1 ( ) { 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_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIObserver_close0_instantiation ( ) { 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_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation ( ) { 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_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_5 ( ) { 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_open0_nsIURI_close0_instantiation_6 ( ) { 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_open0_nsIURI_close0_instantiation_7 ( ) { 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_open0_nsIURI_close0_instantiation_8 ( ) { 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_open0_nsIURI_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_ptr_const_Encoding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Loader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageLoader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLCSSStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsPtrHashKey_open2_nsISupports_close2_close1_close0_instantiation ( ) { 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_nsCOMPtr_open0_Link_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsSMILAnimationController_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsAutoPtr_open1_nsPropertyTable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIHTMLCollection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_FontFaceSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIScriptGlobalObject_close0_instantiation ( ) { 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_open0_nsIDocument_close0_instantiation_4 ( ) { 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_open0_nsIChannel_close0_instantiation ( ) { 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_open0_nsISupports_close0_instantiation_1 ( ) { 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_open0_nsIChannel_close0_instantiation_1 ( ) { 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_nsCOMArray_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_5 ( ) { 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_open0_nsWeakPtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocumentEncoder_close0_instantiation ( ) { 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_open0_nsIDocument_FrameRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIStructuredCloneContainer_close0_instantiation ( ) { 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_open0_nsIVariant_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XPathEvaluator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_AnonymousContent_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_LinkedList_open0_MediaQueryList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: LinkedList > ( ) , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: LinkedList > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIRunnable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation ( ) { 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_open0_nsCOMPtr_open1_nsIPrincipal_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_2 ( ) { 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_open0_uint64_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_LangGroupFontPrefs_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDeviceContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EventStateManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsRefreshDriver_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EffectCompositor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsTransitionManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnimationManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RestyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CounterStyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITheme_close0_instantiation ( ) { 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_open0_nsIPrintSettings_close0_instantiation ( ) { 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_open0_nsITimer_close0_instantiation_1 ( ) { 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_UniquePtr_open0_nsBidi_DefaultDelete_open1_nsBidi_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBidi_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsRect_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxTextPerfMetrics_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxMissingFontRecorder_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_URLParams_Param_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_URLParams_DefaultDelete_open1_URLParams_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_URLParams_close0_instantiation ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_10 ( ) { 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_open0_nsIURI_close0_instantiation_11 ( ) { 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_open0_nsIPrincipal_close0_instantiation_3 ( ) { 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_UniquePtr_open0_const_char_FreePolicy_open1_const_char_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_FreePolicy_open0_const_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation ( ) { 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_nsMainThreadPtrHandle_open0_nsIURI_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_GridNamedArea_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation ( ) { 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_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation ( ) { 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_open0_nsCSSValueList_close0_instantiation ( ) { 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_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation ( ) { 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_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCSSValueGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_12 ( ) { 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_open0_nsIURI_close0_instantiation_13 ( ) { 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_open0_nsIPrincipal_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProxyBehaviour_DefaultDelete_open1_ProxyBehaviour_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_ProxyBehaviour_close0_instantiation ( ) { 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_RefPtr_open0_imgRequestProxy_ImageURL_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsILoadGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation_1 ( ) { 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_open0_nsString_close0_instantiation_1 ( ) { 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_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_CounterStyle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMArray_open0_imgIContainer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation ( ) { 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_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_1 ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation_1 ( ) { 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_open0_CachedBorderImageData_DefaultDelete_open1_CachedBorderImageData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_CachedBorderImageData_close0_instantiation ( ) { 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_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_2 ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation_2 ( ) { 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_nsStyleAutoArray_open0_nsStyleImageLayers_Layer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 104usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nscolor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsBorderColors_DefaultDelete_open1_nsBorderColors_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBorderColors_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_pair_open1_nsString_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_pair_open0_nsString_nsString_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleQuoteValues_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsTArray_open1_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_2 ( ) { 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_open0_nsStyleCoord_close0_instantiation ( ) { 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_open0_nsStyleCoord_close0_instantiation_1 ( ) { 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_open0_nsString_close0_instantiation_3 ( ) { 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_open0_nsString_close0_instantiation_4 ( ) { 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_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation ( ) { 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_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_1 ( ) { 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_RefPtr_open0_GridTemplateAreasValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_7 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_2 ( ) { 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_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation ( ) { 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_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_1 ( ) { 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_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation ( ) { 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_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_1 ( ) { 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_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_2 ( ) { 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_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_2 ( ) { 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_RefPtr_open0_URLValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_8 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_Position_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleTransition_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , 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_nsTArray_open0_nsStyleContentData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCursorImage_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_3 ( ) { 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_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleFilter_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsISupports_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation_1 ( ) { 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_open0_nsCSSValueList_close0_instantiation_1 ( ) { 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_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation_1 ( ) { 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_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation_1 ( ) { 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_RefPtr_open0_RawServoAnimationValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_14 ( ) { 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_open0_nsIURI_close0_instantiation_15 ( ) { 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_open0_nsIURI_close0_instantiation_16 ( ) { 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_open0_nsIPrincipal_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_2 ( ) { 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_open0_RawServoStyleSheetContents_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoCSSRuleList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_6 ( ) { 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_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_3 ( ) { 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_nsTArray_open0_RefPtr_open1_SheetLoadData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_4 ( ) { 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_nsAutoPtr_open0_Loader_Sheets_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIConsoleReportCollector_close0_instantiation ( ) { 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_BaseTimeDuration_open0_StickyTimeDurationValueCalculator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ServoAttrSnapshot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_XBLChildrenElement_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnonymousContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSDeclaration_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIControllers_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsLabelsNodeList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation ( ) { 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_RefPtr_open0_HTMLSlotElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CustomElementData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_2 ( ) { 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_open0_nsICSSDeclaration_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMTokenList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_FragmentOrElement_nsExtendedDOMSlots_DefaultDelete_open1_FragmentOrElement_nsExtendedDOMSlots_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_FragmentOrElement_nsExtendedDOMSlots_close0_instantiation ( ) { 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_RefPtr_open0_nsDOMAttributeMap_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsDOMAttributeMap_Element_close0_instantiation ( ) { 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_open0_nsISupports_close0_instantiation_3 ( ) { 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_UniquePtr_open0_nsISMILAttr_DefaultDelete_open1_nsISMILAttr_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsISMILAttr_close0_instantiation ( ) { 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_nsRefPtrHashKey_open0_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation_1 ( ) { 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_RefPtr_open0_Element_close0_instantiation ( ) { 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_OwningNonNull_open0_EffectCompositor_AnimationStyleRuleProcessor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_2 ( ) { 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_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_3 ( ) { 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_RefPtr_open0_RawServoMediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_RawServoStyleSet_DefaultDelete_open1_RawServoStyleSet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_ServoStyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PostTraversalTask_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleRuleMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsXBLBinding_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsRefPtrHashKey_open2_nsIContent_close2_close1_close0_instantiation ( ) { 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_nsRefPtrHashKey_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsBindingManager_WrapperHashtable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsRefPtrHashtable_open1_nsURIHashKey_nsXBLDocumentInfo_close1_close0_instantiation ( ) { 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_nsAutoPtr_open0_nsInterfaceHashtable_open1_nsURIHashKey_nsIStreamListener_close1_close0_instantiation ( ) { 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_RefPtr_open0_nsRunnableMethod_open1_nsBindingManager_void_close1_close0_instantiation ( ) { 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_RefPtr_open0_nsAtom_close0_instantiation_10 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_11 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSFontFaceRule_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; } } \ No newline at end of file +} # [ test ] fn bindgen_test_layout_nsMediaFeatures ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeatures ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeatures ) ) ) ; } impl Clone for nsMediaFeatures { fn clone ( & self ) -> Self { * self } } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < u16 > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < u16 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ::nsstring::nsStringRepr > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ::nsstring::nsStringRepr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation ( ) { 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_open0_CSSVariableValues_Variable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_FontFamilyName_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_RefPtr_open1_SharedFontList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_SharedFontList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeatureValueSet_ValueList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxAlternateValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeature_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation ( ) { 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_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation ( ) { 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_open0_JSErrorNotes_close0_instantiation ( ) { 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_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long_ptr_UniquePtr_ref_UniquePtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_2 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_2 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_3 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_3 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_4 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_4 ( ) { 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_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_5 ( ) { 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_open0_JSErrorNotes_Note_close0_instantiation_5 ( ) { 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_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation_1 ( ) { 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_open0_JSErrorNotes_close0_instantiation_1 ( ) { 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_RefPtr_open0_StyleSheet_close0_instantiation ( ) { 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_open0_MediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_1 ( ) { 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_nsTArray_open0_StyleSetHandle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProfilerBacktrace_ProfilerBacktraceDestructor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsNodeInfoManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation ( ) { 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_open0_nsIPrincipal_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAttrChildContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation ( ) { 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_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation_1 ( ) { 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_RefPtr_open0_NodeInfo_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation ( ) { 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_open0_ptr_void_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_void_close0_instantiation ( ) { 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_StaticRefPtr_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsPresContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsFrameSelection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation ( ) { 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_open0_WeakFrame_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation ( ) { 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_nsCOMPtr_open0_EventTarget_close0_instantiation ( ) { 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_open0_nsIDocument_close0_instantiation_1 ( ) { 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_open0_nsIURI_close0_instantiation ( ) { 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_open0_nsIURI_close0_instantiation_1 ( ) { 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_open0_EventTarget_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Performance_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_TimeoutManager_DefaultDelete_open1_TimeoutManager_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_TimeoutManager_close0_instantiation ( ) { 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_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation ( ) { 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_open0_nsIContent_close0_instantiation ( ) { 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_open0_ptr_AudioContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowInner_close0_instantiation ( ) { 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_open0_EventTarget_close0_instantiation_2 ( ) { 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_open0_nsIDocument_close0_instantiation_2 ( ) { 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_open0_nsIURI_close0_instantiation_2 ( ) { 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_open0_nsIURI_close0_instantiation_3 ( ) { 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_open0_EventTarget_close0_instantiation_3 ( ) { 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_open0_Element_close0_instantiation ( ) { 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_open0_nsIDocShell_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation_1 ( ) { 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_open0_nsIURI_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , 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_nsCOMPtr_open0_nsIDocument_close0_instantiation_3 ( ) { 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_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation ( ) { 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_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation ( ) { 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_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation_1 ( ) { 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_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIObserver_close0_instantiation ( ) { 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_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation ( ) { 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_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_5 ( ) { 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_open0_nsIURI_close0_instantiation_6 ( ) { 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_open0_nsIURI_close0_instantiation_7 ( ) { 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_open0_nsIURI_close0_instantiation_8 ( ) { 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_open0_nsIURI_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_ptr_const_Encoding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Loader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageLoader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLCSSStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsPtrHashKey_open2_nsISupports_close2_close1_close0_instantiation ( ) { 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_nsCOMPtr_open0_Link_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsSMILAnimationController_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsAutoPtr_open1_nsPropertyTable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIHTMLCollection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_FontFaceSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIScriptGlobalObject_close0_instantiation ( ) { 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_open0_nsIDocument_close0_instantiation_4 ( ) { 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_open0_nsIChannel_close0_instantiation ( ) { 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_open0_nsISupports_close0_instantiation_1 ( ) { 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_open0_nsIChannel_close0_instantiation_1 ( ) { 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_nsCOMArray_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_5 ( ) { 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_open0_nsWeakPtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocumentEncoder_close0_instantiation ( ) { 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_open0_nsIDocument_FrameRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIStructuredCloneContainer_close0_instantiation ( ) { 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_open0_nsIVariant_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XPathEvaluator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_AnonymousContent_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_LinkedList_open0_MediaQueryList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: LinkedList > ( ) , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: LinkedList > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIRunnable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation ( ) { 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_open0_nsCOMPtr_open1_nsIPrincipal_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_2 ( ) { 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_open0_uint64_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_LangGroupFontPrefs_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDeviceContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EventStateManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsRefreshDriver_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EffectCompositor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsTransitionManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnimationManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RestyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CounterStyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITheme_close0_instantiation ( ) { 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_open0_nsIPrintSettings_close0_instantiation ( ) { 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_open0_nsITimer_close0_instantiation_1 ( ) { 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_UniquePtr_open0_nsBidi_DefaultDelete_open1_nsBidi_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBidi_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsRect_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxTextPerfMetrics_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxMissingFontRecorder_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_URLParams_Param_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_URLParams_DefaultDelete_open1_URLParams_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_URLParams_close0_instantiation ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_10 ( ) { 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_open0_nsIURI_close0_instantiation_11 ( ) { 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_open0_nsIPrincipal_close0_instantiation_3 ( ) { 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_UniquePtr_open0_const_char_FreePolicy_open1_const_char_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_FreePolicy_open0_const_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation ( ) { 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_nsMainThreadPtrHandle_open0_nsIURI_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_GridNamedArea_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation ( ) { 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_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation ( ) { 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_open0_nsCSSValueList_close0_instantiation ( ) { 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_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation ( ) { 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_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCSSValueGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_12 ( ) { 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_open0_nsIURI_close0_instantiation_13 ( ) { 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_open0_nsIPrincipal_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProxyBehaviour_DefaultDelete_open1_ProxyBehaviour_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_ProxyBehaviour_close0_instantiation ( ) { 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_RefPtr_open0_imgRequestProxy_ImageURL_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsILoadGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation_1 ( ) { 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_open0_nsString_close0_instantiation_1 ( ) { 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_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_CounterStyle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMArray_open0_imgIContainer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation ( ) { 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_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_1 ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation_1 ( ) { 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_open0_CachedBorderImageData_DefaultDelete_open1_CachedBorderImageData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_CachedBorderImageData_close0_instantiation ( ) { 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_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_2 ( ) { 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_DefaultDelete_open0_nsStyleSides_close0_instantiation_2 ( ) { 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_nsStyleAutoArray_open0_nsStyleImageLayers_Layer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 104usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nscolor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsBorderColors_DefaultDelete_open1_nsBorderColors_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBorderColors_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_pair_open1_nsString_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_pair_open0_nsString_nsString_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleQuoteValues_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsTArray_open1_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_2 ( ) { 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_open0_nsStyleCoord_close0_instantiation ( ) { 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_open0_nsStyleCoord_close0_instantiation_1 ( ) { 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_open0_nsString_close0_instantiation_3 ( ) { 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_open0_nsString_close0_instantiation_4 ( ) { 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_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation ( ) { 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_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_1 ( ) { 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_RefPtr_open0_GridTemplateAreasValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_7 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_2 ( ) { 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_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation ( ) { 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_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_1 ( ) { 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_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_2 ( ) { 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_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation ( ) { 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_RefPtr_open0_URLValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_8 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_Position_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleTransition_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , 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_nsTArray_open0_nsStyleContentData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCursorImage_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_3 ( ) { 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_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleFilter_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsISupports_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation_1 ( ) { 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_open0_nsCSSValueList_close0_instantiation_1 ( ) { 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_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation_1 ( ) { 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_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation_1 ( ) { 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_RefPtr_open0_RawServoAnimationValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation_1 ( ) { 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_nsCOMPtr_open0_nsIURI_close0_instantiation_14 ( ) { 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_open0_nsIURI_close0_instantiation_15 ( ) { 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_open0_nsIURI_close0_instantiation_16 ( ) { 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_open0_nsIPrincipal_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_2 ( ) { 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_open0_RawServoStyleSheetContents_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoCSSRuleList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_6 ( ) { 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_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_3 ( ) { 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_nsTArray_open0_RefPtr_open1_SheetLoadData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_4 ( ) { 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_nsAutoPtr_open0_Loader_Sheets_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIConsoleReportCollector_close0_instantiation ( ) { 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_BaseTimeDuration_open0_StickyTimeDurationValueCalculator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ServoAttrSnapshot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_XBLChildrenElement_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnonymousContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSDeclaration_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIControllers_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsLabelsNodeList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation ( ) { 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_RefPtr_open0_HTMLSlotElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CustomElementData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_2 ( ) { 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_open0_nsICSSDeclaration_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMTokenList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_FragmentOrElement_nsExtendedDOMSlots_DefaultDelete_open1_FragmentOrElement_nsExtendedDOMSlots_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: FragmentOrElement_nsExtendedDOMSlots > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_FragmentOrElement_nsExtendedDOMSlots_close0_instantiation ( ) { 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_RefPtr_open0_nsDOMAttributeMap_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsDOMAttributeMap_Element_close0_instantiation ( ) { 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_open0_nsISupports_close0_instantiation_3 ( ) { 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_UniquePtr_open0_nsISMILAttr_DefaultDelete_open1_nsISMILAttr_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsISMILAttr_close0_instantiation ( ) { 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_nsRefPtrHashKey_open0_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation_1 ( ) { 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_RefPtr_open0_Element_close0_instantiation ( ) { 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_OwningNonNull_open0_EffectCompositor_AnimationStyleRuleProcessor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_2 ( ) { 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_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_3 ( ) { 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_RefPtr_open0_RawServoMediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_RawServoStyleSet_DefaultDelete_open1_RawServoStyleSet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_ServoStyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PostTraversalTask_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleRuleMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsXBLBinding_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsRefPtrHashKey_open2_nsIContent_close2_close1_close0_instantiation ( ) { 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_nsRefPtrHashKey_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsBindingManager_WrapperHashtable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsRefPtrHashtable_open1_nsURIHashKey_nsXBLDocumentInfo_close1_close0_instantiation ( ) { 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_nsAutoPtr_open0_nsInterfaceHashtable_open1_nsURIHashKey_nsIStreamListener_close1_close0_instantiation ( ) { 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_RefPtr_open0_nsRunnableMethod_open1_nsBindingManager_void_close1_close0_instantiation ( ) { 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_RefPtr_open0_nsAtom_close0_instantiation_10 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_11 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSFontFaceRule_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; } } \ No newline at end of file diff --git a/servo/components/style/properties/gecko.mako.rs b/servo/components/style/properties/gecko.mako.rs index 8db4433ab171..2030a27f503e 100644 --- a/servo/components/style/properties/gecko.mako.rs +++ b/servo/components/style/properties/gecko.mako.rs @@ -5008,32 +5008,18 @@ fn static_assert() { use gecko::conversions::basic_shape::set_corners_from_radius; use gecko::values::GeckoStyleCoordConvertible; use values::generics::basic_shape::{BasicShape, FillRule, ShapeSource}; - let ref mut ${ident} = self.gecko.${gecko_ffi_name}; - // clean up existing struct unsafe { Gecko_DestroyShapeSource(${ident}) }; + ${ident}.mType = StyleShapeSourceType::None; match v { - % if ident == "clip_path": - ShapeSource::ImageOrUrl(ref url) => { + ShapeSource::Url(ref url) => { unsafe { bindings::Gecko_StyleShapeSource_SetURLValue(${ident}, url.for_ffi()) } } - % elif ident == "shape_outside": - ShapeSource::ImageOrUrl(image) => { - unsafe { - bindings::Gecko_NewShapeImage(${ident}); - let style_image = &mut *${ident}.mShapeImage.mPtr; - style_image.set(image); - } - } - % else: - <% raise Exception("Unknown property: %s" % ident) %> - } - % endif ShapeSource::None => {} // don't change the type ShapeSource::Box(reference) => { ${ident}.mReferenceBox = reference.into(); diff --git a/servo/components/style/values/computed/basic_shape.rs b/servo/components/style/values/computed/basic_shape.rs index 20dcffec9c6d..2b4feecfba88 100644 --- a/servo/components/style/values/computed/basic_shape.rs +++ b/servo/components/style/values/computed/basic_shape.rs @@ -9,7 +9,7 @@ use std::fmt; use style_traits::ToCss; -use values::computed::{LengthOrPercentage, ComputedUrl, Image}; +use values::computed::{LengthOrPercentage, ComputedUrl}; use values::generics::basic_shape::{BasicShape as GenericBasicShape}; use values::generics::basic_shape::{Circle as GenericCircle, ClippingShape as GenericClippingShape}; use values::generics::basic_shape::{Ellipse as GenericEllipse, FloatAreaShape as GenericFloatAreaShape}; @@ -19,7 +19,7 @@ use values::generics::basic_shape::{InsetRect as GenericInsetRect, ShapeRadius a pub type ClippingShape = GenericClippingShape; /// A computed float area shape. -pub type FloatAreaShape = GenericFloatAreaShape; +pub type FloatAreaShape = GenericFloatAreaShape; /// A computed basic shape. pub type BasicShape = GenericBasicShape; diff --git a/servo/components/style/values/generics/basic_shape.rs b/servo/components/style/values/generics/basic_shape.rs index a2f0eb089719..12c7411dbf93 100644 --- a/servo/components/style/values/generics/basic_shape.rs +++ b/servo/components/style/values/generics/basic_shape.rs @@ -27,7 +27,7 @@ pub enum GeometryBox { } /// A float area shape, for `shape-outside`. -pub type FloatAreaShape = ShapeSource; +pub type FloatAreaShape = ShapeSource; // https://drafts.csswg.org/css-shapes-1/#typedef-shape-box define_css_keyword_enum!(ShapeBox: @@ -41,9 +41,9 @@ add_impls_for_keyword_enum!(ShapeBox); /// A shape source, for some reference box. #[allow(missing_docs)] #[derive(Animate, Clone, Debug, MallocSizeOf, PartialEq, ToComputedValue, ToCss)] -pub enum ShapeSource { +pub enum ShapeSource { #[animation(error)] - ImageOrUrl(ImageOrUrl), + Url(Url), Shape( BasicShape, #[animation(constant)] diff --git a/servo/components/style/values/specified/basic_shape.rs b/servo/components/style/values/specified/basic_shape.rs index e6d612c7ee7a..dbc63adee068 100644 --- a/servo/components/style/values/specified/basic_shape.rs +++ b/servo/components/style/values/specified/basic_shape.rs @@ -22,7 +22,6 @@ use values::generics::basic_shape::{Polygon as GenericPolygon, ShapeRadius as Ge use values::generics::rect::Rect; use values::specified::LengthOrPercentage; use values::specified::border::BorderRadius; -use values::specified::image::Image; use values::specified::position::{HorizontalPosition, Position, PositionComponent, Side, VerticalPosition}; use values::specified::url::SpecifiedUrl; @@ -30,7 +29,7 @@ use values::specified::url::SpecifiedUrl; pub type ClippingShape = GenericClippingShape; /// A specified float area shape. -pub type FloatAreaShape = GenericFloatAreaShape; +pub type FloatAreaShape = GenericFloatAreaShape; /// A specified basic shape. pub type BasicShape = GenericBasicShape; @@ -50,18 +49,14 @@ pub type ShapeRadius = GenericShapeRadius; /// The specified value of `Polygon` pub type Polygon = GenericPolygon; -impl Parse for ShapeSource -where - ReferenceBox: Parse, - ImageOrUrl: Parse, -{ +impl Parse for ShapeSource { fn parse<'i, 't>(context: &ParserContext, input: &mut Parser<'i, 't>) -> Result> { if input.try(|i| i.expect_ident_matching("none")).is_ok() { return Ok(ShapeSource::None) } - if let Ok(image_or_url) = input.try(|i| ImageOrUrl::parse(context, i)) { - return Ok(ShapeSource::ImageOrUrl(image_or_url)) + if let Ok(url) = input.try(|i| SpecifiedUrl::parse(context, i)) { + return Ok(ShapeSource::Url(url)) } fn parse_component(context: &ParserContext, input: &mut Parser, From 6c0aadb8725949db0e24902c065a063eb9589d4e Mon Sep 17 00:00:00 2001 From: Csoregi Natalia Date: Sun, 26 Nov 2017 13:00:58 +0200 Subject: [PATCH 06/77] Backed out 2 changesets (bug 1420026) for failing devtools webconsole/test/browser_webconsole_bug_595934_message_categories.js on Windows 7 debug without e10s. r=backout on a CLOSED TREE Backed out changeset 7ef37ebdf7b2 (bug 1420026) Backed out changeset 75636e9e1d13 (bug 1420026) --- dom/canvas/CanvasRenderingContext2D.cpp | 21 --------------------- layout/style/ServoBindingList.h | 3 +-- layout/style/ServoCSSParser.cpp | 6 ++---- layout/style/ServoCSSParser.h | 5 +---- 4 files changed, 4 insertions(+), 31 deletions(-) diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp index df9c2750ac5a..2f000f5361a4 100644 --- a/dom/canvas/CanvasRenderingContext2D.cpp +++ b/dom/canvas/CanvasRenderingContext2D.cpp @@ -1167,27 +1167,6 @@ CanvasRenderingContext2D::ParseColor(const nsAString& aString, ? mCanvasElement->OwnerDoc() : nullptr; - if (document->IsStyledByServo()) { - nsCOMPtr presShell = GetPresShell(); - ServoStyleSet* set = presShell ? presShell->StyleSet()->AsServo() : nullptr; - - // First, try computing the color without handling currentcolor. - bool wasCurrentColor = false; - if (!ServoCSSParser::ComputeColor(set, NS_RGB(0, 0, 0), aString, aColor, - &wasCurrentColor)) { - return false; - } - - if (wasCurrentColor) { - // Otherwise, get the value of the color property, flushing style - // if necessary. - RefPtr canvasStyle = - nsComputedDOMStyle::GetStyleContext(mCanvasElement, nullptr, presShell); - *aColor = canvasStyle->StyleColor()->mColor; - } - return true; - } - // Pass the CSS Loader object to the parser, to allow parser error // reports to include the outer window ID. nsCSSParser parser(document ? document->CSSLoader() : nullptr); diff --git a/layout/style/ServoBindingList.h b/layout/style/ServoBindingList.h index 5f422ccc6791..4b4a0085f119 100644 --- a/layout/style/ServoBindingList.h +++ b/layout/style/ServoBindingList.h @@ -744,8 +744,7 @@ SERVO_BINDING_FUNC(Servo_ComputeColor, bool, RawServoStyleSetBorrowedOrNull set, nscolor current_color, const nsAString* value, - nscolor* result_color, - bool* was_current_color); + nscolor* result_color); SERVO_BINDING_FUNC(Servo_ParseIntersectionObserverRootMargin, bool, const nsAString* value, nsCSSRect* result); diff --git a/layout/style/ServoCSSParser.cpp b/layout/style/ServoCSSParser.cpp index ad3dc45e923b..c8c33cc448cf 100644 --- a/layout/style/ServoCSSParser.cpp +++ b/layout/style/ServoCSSParser.cpp @@ -20,12 +20,10 @@ ServoCSSParser::IsValidCSSColor(const nsAString& aValue) ServoCSSParser::ComputeColor(ServoStyleSet* aStyleSet, nscolor aCurrentColor, const nsAString& aValue, - nscolor* aResultColor, - bool* aWasCurrentColor) + nscolor* aResultColor) { return Servo_ComputeColor(aStyleSet ? aStyleSet->RawSet() : nullptr, - aCurrentColor, &aValue, aResultColor, - aWasCurrentColor); + aCurrentColor, &aValue, aResultColor); } /* static */ bool diff --git a/layout/style/ServoCSSParser.h b/layout/style/ServoCSSParser.h index f1c3bd49d522..08db2958166b 100644 --- a/layout/style/ServoCSSParser.h +++ b/layout/style/ServoCSSParser.h @@ -32,15 +32,12 @@ public: * @param aCurrentColor The color value that currentcolor should compute to. * @param aValue The CSS value. * @param aResultColor The resulting computed color value. - * @param aWasCurrentColor Whether aValue was currentcolor. Can be nullptr - * if the caller doesn't care. * @return Whether aValue was successfully parsed and aResultColor was set. */ static bool ComputeColor(ServoStyleSet* aStyleSet, nscolor aCurrentColor, const nsAString& aValue, - nscolor* aResultColor, - bool* aWasCurrentColor = nullptr); + nscolor* aResultColor); /** * Parses a IntersectionObserver's initialization dictionary's rootMargin From e06f6769a6ce1671f717861f5fc20c8cbbfc65db Mon Sep 17 00:00:00 2001 From: Csoregi Natalia Date: Sun, 26 Nov 2017 13:01:43 +0200 Subject: [PATCH 07/77] Backed out changeset 077ce85c466b for failing devtools webconsole/test/browser_webconsole_bug_595934_message_categories.js on Windows 7 debug without e10s. r=backout on a CLOSED TREE --- servo/components/style/gecko/generated/bindings.rs | 4 ++-- servo/ports/geckolib/glue.rs | 6 ------ 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/servo/components/style/gecko/generated/bindings.rs b/servo/components/style/gecko/generated/bindings.rs index aa320c6a4953..1e09fa42baf4 100644 --- a/servo/components/style/gecko/generated/bindings.rs +++ b/servo/components/style/gecko/generated/bindings.rs @@ -1574,7 +1574,7 @@ extern "C" { } extern "C" { pub fn Servo_IsValidCSSColor ( value : * const nsAString , ) -> bool ; } extern "C" { - pub fn Servo_ComputeColor ( set : RawServoStyleSetBorrowedOrNull , current_color : nscolor , value : * const nsAString , result_color : * mut nscolor , was_current_color : * mut bool , ) -> bool ; + pub fn Servo_ComputeColor ( set : RawServoStyleSetBorrowedOrNull , current_color : nscolor , value : * const nsAString , result_color : * mut nscolor , ) -> bool ; } extern "C" { pub fn Servo_ParseIntersectionObserverRootMargin ( value : * const nsAString , result : * mut nsCSSRect , ) -> bool ; } extern "C" { @@ -1587,4 +1587,4 @@ extern "C" { pub fn Gecko_ContentList_AppendAll ( aContentList : * mut nsSimpleContentList , aElements : * mut * const RawGeckoElement , aLength : usize , ) ; } extern "C" { pub fn Gecko_GetElementsWithId ( aDocument : * const nsIDocument , aId : * mut nsAtom , ) -> * const nsTArray < * mut Element > ; -} +} \ No newline at end of file diff --git a/servo/ports/geckolib/glue.rs b/servo/ports/geckolib/glue.rs index f7733b37516f..c0b60adaad50 100644 --- a/servo/ports/geckolib/glue.rs +++ b/servo/ports/geckolib/glue.rs @@ -4559,7 +4559,6 @@ pub extern "C" fn Servo_ComputeColor( current_color: structs::nscolor, value: *const nsAString, result_color: *mut structs::nscolor, - was_current_color: *mut bool, ) -> bool { use style::gecko; @@ -4594,11 +4593,6 @@ pub extern "C" fn Servo_ComputeColor( Some(computed_color) => { let rgba = computed_color.to_rgba(current_color); *result_color = gecko::values::convert_rgba_to_nscolor(&rgba); - if !was_current_color.is_null() { - unsafe { - *was_current_color = computed_color.is_currentcolor(); - } - } true } None => false, From 8560cb2888ec7e86ad924e6e9a2221ec3bd37e23 Mon Sep 17 00:00:00 2001 From: Ting-Yu Lin Date: Mon, 2 Oct 2017 17:51:20 +0800 Subject: [PATCH 08/77] Bug 1418224 Part 1 - Change StyleShapeSource::SetURL's return type to void. r=heycam No caller check the return value, and SetURL ever returns true. MozReview-Commit-ID: 5XPFq41Ktlq --HG-- extra : rebase_source : 7522e024ed38da5e1524eb3128bbf5a70e46177f --- layout/style/nsStyleStruct.cpp | 3 +-- layout/style/nsStyleStruct.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/layout/style/nsStyleStruct.cpp b/layout/style/nsStyleStruct.cpp index d501ea3d250d..17a13d606ede 100644 --- a/layout/style/nsStyleStruct.cpp +++ b/layout/style/nsStyleStruct.cpp @@ -1085,7 +1085,7 @@ StyleShapeSource::operator==(const StyleShapeSource& aOther) const return true; } -bool +void StyleShapeSource::SetURL(css::URLValue* aValue) { MOZ_ASSERT(aValue); @@ -1094,7 +1094,6 @@ StyleShapeSource::SetURL(css::URLValue* aValue) } mShapeImage->SetURLValue(do_AddRef(aValue)); mType = StyleShapeSourceType::URL; - return true; } void diff --git a/layout/style/nsStyleStruct.h b/layout/style/nsStyleStruct.h index bf7eef3d4fd7..e736cb8d8762 100644 --- a/layout/style/nsStyleStruct.h +++ b/layout/style/nsStyleStruct.h @@ -2472,7 +2472,7 @@ struct StyleShapeSource final : nullptr; } - bool SetURL(css::URLValue* aValue); + void SetURL(css::URLValue* aValue); const UniquePtr& GetBasicShape() const { From fdbb84358817799ac33f9a6658668fc91f7ce8a5 Mon Sep 17 00:00:00 2001 From: Ting-Yu Lin Date: Tue, 21 Nov 2017 18:24:34 +0800 Subject: [PATCH 09/77] Bug 1418224 Part 2 - Extract ShapeInfo::CreateBasicShape(). r=heycam MozReview-Commit-ID: DZ1O0CzzsyT --HG-- extra : rebase_source : 41d23db4caef61663003c8ea1453363c90cdeca7 --- layout/generic/nsFloatManager.cpp | 40 +++++++++++++++++-------------- layout/generic/nsFloatManager.h | 6 +++++ 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/layout/generic/nsFloatManager.cpp b/layout/generic/nsFloatManager.cpp index 40f3cad7b181..5c84e51c837b 100644 --- a/layout/generic/nsFloatManager.cpp +++ b/layout/generic/nsFloatManager.cpp @@ -776,24 +776,8 @@ nsFloatManager::FloatInfo::FloatInfo(nsIFrame* aFrame, aContainerSize); } else if (shapeOutside.GetType() == StyleShapeSourceType::Shape) { const UniquePtr& basicShape = shapeOutside.GetBasicShape(); - - switch (basicShape->GetShapeType()) { - case StyleBasicShapeType::Polygon: - mShapeInfo = - ShapeInfo::CreatePolygon(basicShape, shapeBoxRect, aWM, - aContainerSize); - break; - case StyleBasicShapeType::Circle: - case StyleBasicShapeType::Ellipse: - mShapeInfo = - ShapeInfo::CreateCircleOrEllipse(basicShape, shapeBoxRect, aWM, - aContainerSize); - break; - case StyleBasicShapeType::Inset: - mShapeInfo = - ShapeInfo::CreateInset(basicShape, shapeBoxRect, aWM, aContainerSize); - break; - } + mShapeInfo = ShapeInfo::CreateBasicShape(basicShape, shapeBoxRect, aWM, + aContainerSize); } else { MOZ_ASSERT_UNREACHABLE("Unknown StyleShapeSourceType!"); } @@ -960,6 +944,26 @@ nsFloatManager::ShapeInfo::CreateShapeBox( aWM)); } +/* static */ UniquePtr +nsFloatManager::ShapeInfo::CreateBasicShape( + const UniquePtr& aBasicShape, + const LogicalRect& aShapeBoxRect, + WritingMode aWM, + const nsSize& aContainerSize) +{ + switch (aBasicShape->GetShapeType()) { + case StyleBasicShapeType::Polygon: + return CreatePolygon(aBasicShape, aShapeBoxRect, aWM, aContainerSize); + case StyleBasicShapeType::Circle: + case StyleBasicShapeType::Ellipse: + return CreateCircleOrEllipse(aBasicShape, aShapeBoxRect, aWM, + aContainerSize); + case StyleBasicShapeType::Inset: + return CreateInset(aBasicShape, aShapeBoxRect, aWM, aContainerSize); + } + return nullptr; +} + /* static */ UniquePtr nsFloatManager::ShapeInfo::CreateInset( const UniquePtr& aBasicShape, diff --git a/layout/generic/nsFloatManager.h b/layout/generic/nsFloatManager.h index 6999257103d2..bd9eccb40b13 100644 --- a/layout/generic/nsFloatManager.h +++ b/layout/generic/nsFloatManager.h @@ -381,6 +381,12 @@ private: mozilla::WritingMode aWM, const nsSize& aContainerSize); + static mozilla::UniquePtr CreateBasicShape( + const mozilla::UniquePtr& aBasicShape, + const mozilla::LogicalRect& aShapeBoxRect, + mozilla::WritingMode aWM, + const nsSize& aContainerSize); + static mozilla::UniquePtr CreateInset( const mozilla::UniquePtr& aBasicShape, const mozilla::LogicalRect& aShapeBoxRect, From 0a432576a1bf0c1bccb7d25f81829143a7de969f Mon Sep 17 00:00:00 2001 From: Ting-Yu Lin Date: Fri, 17 Nov 2017 16:34:37 +0800 Subject: [PATCH 10/77] Bug 1418224 Part 3 - Add shape-outside: support to style system. r=heycam Some Gecko style system files are modified to prevent assertions and crashing, and to keep test failures on stylo disabled builds to minimum. MozReview-Commit-ID: GuxAeCTz0xx --HG-- extra : rebase_source : 97c8b3900e4492ac03158a38aa03f7c044b71e0f --- .../rootAnalysis/analyzeHeapWrites.js | 1 + layout/generic/nsFloatManager.cpp | 48 +++++++++-------- layout/inspector/inDOMUtils.cpp | 5 +- layout/style/ServoBindings.cpp | 6 +++ layout/style/ServoBindings.h | 1 + layout/style/StyleAnimationValue.cpp | 3 ++ layout/style/nsCSSParser.cpp | 12 ++++- layout/style/nsCSSPropList.h | 1 + layout/style/nsComputedDOMStyle.cpp | 7 ++- layout/style/nsRuleNode.cpp | 9 +++- layout/style/nsStyleConsts.h | 3 +- layout/style/nsStyleStruct.cpp | 51 +++++++++++++++---- layout/style/nsStyleStruct.h | 12 ++++- 13 files changed, 120 insertions(+), 39 deletions(-) diff --git a/js/src/devtools/rootAnalysis/analyzeHeapWrites.js b/js/src/devtools/rootAnalysis/analyzeHeapWrites.js index 6f023474e876..1202f27d85e9 100644 --- a/js/src/devtools/rootAnalysis/analyzeHeapWrites.js +++ b/js/src/devtools/rootAnalysis/analyzeHeapWrites.js @@ -223,6 +223,7 @@ function treatAsSafeArgument(entry, varName, csuName) ["Gecko_DestroyShapeSource", "aShape", null], ["Gecko_StyleShapeSource_SetURLValue", "aShape", null], ["Gecko_NewBasicShape", "aShape", null], + ["Gecko_NewShapeImage", "aShape", null], ["Gecko_nsFont_InitSystem", "aDest", null], ["Gecko_nsFont_SetFontFeatureValuesLookup", "aFont", null], ["Gecko_nsFont_ResetFontFeatureValuesLookup", "aFont", null], diff --git a/layout/generic/nsFloatManager.cpp b/layout/generic/nsFloatManager.cpp index 5c84e51c837b..44ba8ef952bd 100644 --- a/layout/generic/nsFloatManager.cpp +++ b/layout/generic/nsFloatManager.cpp @@ -756,30 +756,38 @@ nsFloatManager::FloatInfo::FloatInfo(nsIFrame* aFrame, const StyleShapeSource& shapeOutside = mFrame->StyleDisplay()->mShapeOutside; - if (shapeOutside.GetType() == StyleShapeSourceType::None) { - return; - } + switch (shapeOutside.GetType()) { + case StyleShapeSourceType::None: + // No need to create shape info. + return; - if (shapeOutside.GetType() == StyleShapeSourceType::URL) { - // Bug 1265343: Implement 'shape-image-threshold'. Early return - // here because shape-outside with url() value doesn't have a - // reference box, and GetReferenceBox() asserts that. - return; - } + case StyleShapeSourceType::URL: + MOZ_ASSERT_UNREACHABLE("shape-outside doesn't have URL source type!"); + return; - // Initialize 's reference rect. - LogicalRect shapeBoxRect = - ShapeInfo::ComputeShapeBoxRect(shapeOutside, mFrame, aMarginRect, aWM); + case StyleShapeSourceType::Image: + // Bug 1265343: Implement 'shape-image-threshold' + // Bug 1404222: Support shape-outside: + return; - if (shapeOutside.GetType() == StyleShapeSourceType::Box) { - mShapeInfo = ShapeInfo::CreateShapeBox(mFrame, shapeBoxRect, aWM, - aContainerSize); - } else if (shapeOutside.GetType() == StyleShapeSourceType::Shape) { - const UniquePtr& basicShape = shapeOutside.GetBasicShape(); - mShapeInfo = ShapeInfo::CreateBasicShape(basicShape, shapeBoxRect, aWM, + case StyleShapeSourceType::Box: { + // Initialize 's reference rect. + LogicalRect shapeBoxRect = + ShapeInfo::ComputeShapeBoxRect(shapeOutside, mFrame, aMarginRect, aWM); + mShapeInfo = ShapeInfo::CreateShapeBox(mFrame, shapeBoxRect, aWM, aContainerSize); - } else { - MOZ_ASSERT_UNREACHABLE("Unknown StyleShapeSourceType!"); + break; + } + + case StyleShapeSourceType::Shape: { + const UniquePtr& basicShape = shapeOutside.GetBasicShape(); + // Initialize 's reference rect. + LogicalRect shapeBoxRect = + ShapeInfo::ComputeShapeBoxRect(shapeOutside, mFrame, aMarginRect, aWM); + mShapeInfo = ShapeInfo::CreateBasicShape(basicShape, shapeBoxRect, aWM, + aContainerSize); + break; + } } MOZ_ASSERT(mShapeInfo, diff --git a/layout/inspector/inDOMUtils.cpp b/layout/inspector/inDOMUtils.cpp index 4c80c2f04881..304574d0eae7 100644 --- a/layout/inspector/inDOMUtils.cpp +++ b/layout/inspector/inDOMUtils.cpp @@ -816,10 +816,13 @@ PropertySupportsVariant(nsCSSPropertyID aPropertyID, uint32_t aVariant) case eCSSProperty_content: case eCSSProperty_cursor: case eCSSProperty_clip_path: - case eCSSProperty_shape_outside: supported = VARIANT_URL; break; + case eCSSProperty_shape_outside: + supported = VARIANT_IMAGE; + break; + case eCSSProperty_fill: case eCSSProperty_stroke: supported = VARIANT_COLOR | VARIANT_URL; diff --git a/layout/style/ServoBindings.cpp b/layout/style/ServoBindings.cpp index 2c59a7cbe1f3..5cb23de71284 100644 --- a/layout/style/ServoBindings.cpp +++ b/layout/style/ServoBindings.cpp @@ -2028,6 +2028,12 @@ Gecko_NewBasicShape(mozilla::StyleShapeSource* aShape, StyleGeometryBox::NoBox); } +void +Gecko_NewShapeImage(mozilla::StyleShapeSource* aShape) +{ + aShape->SetShapeImage(MakeUnique()); +} + void Gecko_ResetFilters(nsStyleEffects* effects, size_t new_len) { diff --git a/layout/style/ServoBindings.h b/layout/style/ServoBindings.h index dc3476a71233..c9eb1052eb64 100644 --- a/layout/style/ServoBindings.h +++ b/layout/style/ServoBindings.h @@ -519,6 +519,7 @@ void Gecko_CopyShapeSourceFrom(mozilla::StyleShapeSource* dst, const mozilla::St void Gecko_DestroyShapeSource(mozilla::StyleShapeSource* shape); void Gecko_NewBasicShape(mozilla::StyleShapeSource* shape, mozilla::StyleBasicShapeType type); +void Gecko_NewShapeImage(mozilla::StyleShapeSource* shape); void Gecko_StyleShapeSource_SetURLValue(mozilla::StyleShapeSource* shape, ServoBundledURI uri); void Gecko_ResetFilters(nsStyleEffects* effects, size_t new_len); diff --git a/layout/style/StyleAnimationValue.cpp b/layout/style/StyleAnimationValue.cpp index d780e0c4301c..4a3ea7fc013c 100644 --- a/layout/style/StyleAnimationValue.cpp +++ b/layout/style/StyleAnimationValue.cpp @@ -4245,6 +4245,9 @@ ExtractComputedValueFromShapeSource(const StyleShapeSource& aShapeSource, aComputedValue.SetCSSValueArrayValue(result, StyleAnimationValue::eUnit_Shape); + } else if (type == StyleShapeSourceType::Image) { + // XXX: Won't implement because Gecko style system will be removed. + return false; } else { MOZ_ASSERT(type == StyleShapeSourceType::None, "unknown type"); aComputedValue.SetNoneValue(); diff --git a/layout/style/nsCSSParser.cpp b/layout/style/nsCSSParser.cpp index ec5af6bbcde7..f5b8fbaab970 100644 --- a/layout/style/nsCSSParser.cpp +++ b/layout/style/nsCSSParser.cpp @@ -16443,8 +16443,16 @@ CSSParserImpl::ParseClipPath(nsCSSValue& aValue) bool CSSParserImpl::ParseShapeOutside(nsCSSValue& aValue) { - if (ParseSingleTokenVariant(aValue, VARIANT_HUO, nullptr)) { - // 'inherit', 'initial', 'unset', 'none', and url must be alone. + CSSParseResult result = + ParseVariant(aValue, VARIANT_IMAGE | VARIANT_INHERIT, nullptr); + + if (result == CSSParseResult::Error) { + return false; + } + + if (result == CSSParseResult::Ok) { + // 'inherit', 'initial', 'unset', 'none', and ( or + // ) must be alone. return true; } diff --git a/layout/style/nsCSSPropList.h b/layout/style/nsCSSPropList.h index 2b14ef687426..2d33cd56b39b 100644 --- a/layout/style/nsCSSPropList.h +++ b/layout/style/nsCSSPropList.h @@ -3765,6 +3765,7 @@ CSS_PROP_DISPLAY( CSS_PROPERTY_PARSE_VALUE | CSS_PROPERTY_VALUE_PARSER_FUNCTION | CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | + CSS_PROPERTY_START_IMAGE_LOADS | CSS_PROPERTY_STORES_CALC, "layout.css.shape-outside.enabled", 0, diff --git a/layout/style/nsComputedDOMStyle.cpp b/layout/style/nsComputedDOMStyle.cpp index 402a83a70d1e..dbd607caaf56 100644 --- a/layout/style/nsComputedDOMStyle.cpp +++ b/layout/style/nsComputedDOMStyle.cpp @@ -6553,8 +6553,11 @@ nsComputedDOMStyle::GetShapeSource( val->SetIdent(eCSSKeyword_none); return val.forget(); } - default: - NS_NOTREACHED("unexpected type"); + case StyleShapeSourceType::Image: { + RefPtr val = new nsROCSSPrimitiveValue; + SetValueToStyleImage(*aShapeSource.GetShapeImage(), val); + return val.forget(); + } } return nullptr; } diff --git a/layout/style/nsRuleNode.cpp b/layout/style/nsRuleNode.cpp index 7f97b9ea2670..5339f850eef5 100644 --- a/layout/style/nsRuleNode.cpp +++ b/layout/style/nsRuleNode.cpp @@ -6434,9 +6434,14 @@ nsRuleNode::ComputeDisplayData(void* aStartStruct, conditions.SetUncacheable(); display->mShapeOutside = parentDisplay->mShapeOutside; break; - case eCSSUnit_URL: { + case eCSSUnit_Image: + case eCSSUnit_Function: + case eCSSUnit_Gradient: + case eCSSUnit_Element: { + auto shapeImage = MakeUnique(); + SetStyleImage(aContext, *shapeOutsideValue, *shapeImage, conditions); display->mShapeOutside = StyleShapeSource(); - display->mShapeOutside.SetURL(shapeOutsideValue->GetURLStructValue()); + display->mShapeOutside.SetShapeImage(Move(shapeImage)); break; } case eCSSUnit_Array: { diff --git a/layout/style/nsStyleConsts.h b/layout/style/nsStyleConsts.h index 323f8c21bbbe..800fd1ed61e1 100644 --- a/layout/style/nsStyleConsts.h +++ b/layout/style/nsStyleConsts.h @@ -154,7 +154,8 @@ enum class StyleShapeRadius : uint8_t { // Shape source type enum class StyleShapeSourceType : uint8_t { None, - URL, + URL, // clip-path only + Image, // shape-outside only Shape, Box, }; diff --git a/layout/style/nsStyleStruct.cpp b/layout/style/nsStyleStruct.cpp index 17a13d606ede..491e02897132 100644 --- a/layout/style/nsStyleStruct.cpp +++ b/layout/style/nsStyleStruct.cpp @@ -1073,15 +1073,23 @@ StyleShapeSource::operator==(const StyleShapeSource& aOther) const return false; } - if (mType == StyleShapeSourceType::URL) { - return DefinitelyEqualURIs(GetURL(), aOther.GetURL()); - } else if (mType == StyleShapeSourceType::Shape) { - return *mBasicShape == *aOther.mBasicShape && - mReferenceBox == aOther.mReferenceBox; - } else if (mType == StyleShapeSourceType::Box) { - return mReferenceBox == aOther.mReferenceBox; + switch (mType) { + case StyleShapeSourceType::None: + return true; + + case StyleShapeSourceType::URL: + case StyleShapeSourceType::Image: + return *mShapeImage == *aOther.mShapeImage; + + case StyleShapeSourceType::Shape: + return *mBasicShape == *aOther.mBasicShape && + mReferenceBox == aOther.mReferenceBox; + + case StyleShapeSourceType::Box: + return mReferenceBox == aOther.mReferenceBox; } + MOZ_ASSERT_UNREACHABLE("Unexpected shape source type!"); return true; } @@ -1096,11 +1104,19 @@ StyleShapeSource::SetURL(css::URLValue* aValue) mType = StyleShapeSourceType::URL; } +void +StyleShapeSource::SetShapeImage(UniquePtr aShapeImage) +{ + MOZ_ASSERT(aShapeImage); + mShapeImage = Move(aShapeImage); + mType = StyleShapeSourceType::Image; +} + void StyleShapeSource::SetBasicShape(UniquePtr aBasicShape, StyleGeometryBox aReferenceBox) { - NS_ASSERTION(aBasicShape, "expected pointer"); + MOZ_ASSERT(aBasicShape); mBasicShape = Move(aBasicShape); mReferenceBox = aReferenceBox; mType = StyleShapeSourceType::Shape; @@ -1116,7 +1132,6 @@ StyleShapeSource::SetReferenceBox(StyleGeometryBox aReferenceBox) void StyleShapeSource::DoCopy(const StyleShapeSource& aOther) { - switch (aOther.mType) { case StyleShapeSourceType::None: mReferenceBox = StyleGeometryBox::NoBox; @@ -1127,6 +1142,10 @@ StyleShapeSource::DoCopy(const StyleShapeSource& aOther) SetURL(aOther.GetURL()); break; + case StyleShapeSourceType::Image: + SetShapeImage(MakeUnique(*aOther.GetShapeImage())); + break; + case StyleShapeSourceType::Shape: SetBasicShape(MakeUnique(*aOther.GetBasicShape()), aOther.GetReferenceBox()); @@ -3697,6 +3716,20 @@ nsStyleDisplay::~nsStyleDisplay() MOZ_COUNT_DTOR(nsStyleDisplay); } +void +nsStyleDisplay::FinishStyle(nsPresContext* aPresContext) +{ + MOZ_ASSERT(NS_IsMainThread()); + MOZ_ASSERT(aPresContext->StyleSet()->IsServo()); + + if (mShapeOutside.GetType() == StyleShapeSourceType::Image) { + const UniquePtr& shapeImage = mShapeOutside.GetShapeImage(); + if (shapeImage) { + shapeImage->ResolveImage(aPresContext); + } + } +} + nsChangeHint nsStyleDisplay::CalcDifference(const nsStyleDisplay& aNewData) const { diff --git a/layout/style/nsStyleStruct.h b/layout/style/nsStyleStruct.h index e736cb8d8762..ea7a73cad51f 100644 --- a/layout/style/nsStyleStruct.h +++ b/layout/style/nsStyleStruct.h @@ -2474,6 +2474,14 @@ struct StyleShapeSource final void SetURL(css::URLValue* aValue); + const UniquePtr& GetShapeImage() const + { + MOZ_ASSERT(mType == StyleShapeSourceType::Image, "Wrong shape source type!"); + return mShapeImage; + } + + void SetShapeImage(UniquePtr aShapeImage); + const UniquePtr& GetBasicShape() const { MOZ_ASSERT(mType == StyleShapeSourceType::Shape, "Wrong shape source type!"); @@ -2532,8 +2540,8 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStyleDisplay nsStyleDisplay(const nsStyleDisplay& aOther); ~nsStyleDisplay(); - void FinishStyle(nsPresContext* aPresContext) {} - const static bool kHasFinishStyle = false; + void FinishStyle(nsPresContext* aPresContext); + const static bool kHasFinishStyle = true; void* operator new(size_t sz, nsStyleDisplay* aSelf) { return aSelf; } void* operator new(size_t sz, nsPresContext* aContext) { From 6f96433350fffd1979f5c081b1fd596c75be17ed Mon Sep 17 00:00:00 2001 From: Ting-Yu Lin Date: Wed, 22 Nov 2017 17:54:56 +0800 Subject: [PATCH 11/77] Bug 1418224 Part 4 - Fix tests after adding shape-outside: to style system. r=heycam Run those fragment URL tests in test_transitions_per_property.html for clip-path only because shape-outside will resolve URL fragments (i.e. #a), so the computed value of URL fragment will have document URL as a prefix, which won't match. Also, added absolute URL tests for both clip-path and shape-outside. MozReview-Commit-ID: 8SUpfTaV9cz --HG-- extra : rebase_source : e5c180a2ef293d70fa33133012023e9360eef98e --- layout/style/test/property_database.js | 16 ++++++++-- .../test/test_transitions_per_property.html | 23 ++++++++++--- .../fetch-request-css-images.https.html.ini | 2 +- .../accumulation-per-property.html.ini | 7 ++++ .../addition-per-property.html.ini | 7 ++++ .../interpolation-per-property.html.ini | 32 +++++++++++++++---- 6 files changed, 72 insertions(+), 15 deletions(-) diff --git a/layout/style/test/property_database.js b/layout/style/test/property_database.js index 9ec8e7e32cd1..9cf1fe792501 100644 --- a/layout/style/test/property_database.js +++ b/layout/style/test/property_database.js @@ -6443,9 +6443,19 @@ if (IsCSSPropertyPrefEnabled("layout.css.shape-outside.enabled")) { initial_values: [ "none" ], other_values: [ "url(#my-shape-outside)", - ].concat(basicShapeOtherValues), - invalid_values: basicShapeSVGBoxValues.concat(basicShapeInvalidValues), - unbalanced_values: basicShapeUnbalancedValues, + ].concat( + basicShapeOtherValues, + validGradientAndElementValues + ), + invalid_values: [].concat( + basicShapeSVGBoxValues, + basicShapeInvalidValues, + invalidGradientAndElementValues + ), + unbalanced_values: [].concat( + basicShapeUnbalancedValues, + unbalancedGradientAndElementValues + ) }; } diff --git a/layout/style/test/test_transitions_per_property.html b/layout/style/test/test_transitions_per_property.html index a3dbacdabd58..512a8b79d879 100644 --- a/layout/style/test/test_transitions_per_property.html +++ b/layout/style/test/test_transitions_per_property.html @@ -638,7 +638,7 @@ var transformTests = [ // reference-box (i.e. border-box or content-box) if needed. // Bug 1313619: Add some tests for two basic shapes with an explicit // reference-box and a default one. -var clipPathAndShapeOutsideTests = [ +const basicShapesTests = [ { start: "none", end: "none", expected: ["none"] }, // none to shape @@ -780,12 +780,20 @@ var clipPathAndShapeOutsideTests = [ { start: "circle(20px)", end: "content-box", expected: ["content-box"] }, { start: "content-box", end: "circle(20px)", expected: ["circle", ["20px at 50% 50%"]] }, // url to shape + { start: "circle(20px)", end: "url(http://localhost/a.png)", expected: ["url", ["\"http://localhost/a.png\""]] }, + { start: "url(http://localhost/a.png)", end: "circle(20px)", expected: ["circle", ["20px at 50% 50%"]] }, + // url to none + { start: "none", end: "url(http://localhost/a.png)", expected: ["url", ["\"http://localhost/a.png\""]] }, + { start: "http://localhost/a.png", end: "none", expected: ["none"] }, +]; + +const basicShapesWithFragmentUrlTests = [ + // Fragment url to shape { start: "circle(20px)", end: "url('#a')", expected: ["url", ["\"#a\""]] }, { start: "url('#a')", end: "circle(20px)", expected: ["circle", ["20px at 50% 50%"]] }, - // url to none + // Fragment url to none { start: "none", end: "url('#a')", expected: ["url", ["\"#a\""]] }, { start: "url('#a')", end: "none", expected: ["none"] }, - ]; var filterTests = [ @@ -1575,8 +1583,13 @@ function filter_function_list_equals(computedValStr, expectedList) } function test_basic_shape_or_url_transition(prop) { - for (var i in clipPathAndShapeOutsideTests) { - var test = clipPathAndShapeOutsideTests[i]; + let tests = basicShapesTests; + if (prop == "clip-path") { + // Clip-path won't resolve fragment URLs. + tests.concat(basicShapesWithFragmentUrlTests); + } + + for (let test of tests) { div.style.setProperty("transition-property", "none", ""); div.style.setProperty(prop, test.start, ""); cs.getPropertyValue(prop); diff --git a/testing/web-platform/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini b/testing/web-platform/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini index 2fc461888dde..dc72bf2698c6 100644 --- a/testing/web-platform/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini +++ b/testing/web-platform/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini @@ -2,7 +2,7 @@ type: testharness expected: TIMEOUT [Verify FetchEvent for css image (shapeOutside).] - expected: TIMEOUT + expected: FAIL # Bug 1418930 [Verify FetchEvent for css image-set (backgroundImage).] expected: TIMEOUT diff --git a/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini b/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini index 086b3bb176fc..32238ef1b158 100644 --- a/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini +++ b/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini @@ -1,3 +1,10 @@ prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.enabled:true] [accumulation-per-property.html] type: testharness + [shape-outside: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")"] + expected: + if not stylo: FAIL + + [shape-outside: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")"] + expected: + if not stylo: FAIL diff --git a/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini b/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini index d6379acc63a9..fb3d14b801ea 100644 --- a/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini +++ b/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini @@ -1,3 +1,10 @@ prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.enabled:true] [addition-per-property.html] type: testharness + [shape-outside: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")"] + expected: + if not stylo: FAIL + + [shape-outside: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")"] + expected: + if not stylo: FAIL diff --git a/testing/web-platform/meta/web-animations/animation-model/animation-types/interpolation-per-property.html.ini b/testing/web-platform/meta/web-animations/animation-model/animation-types/interpolation-per-property.html.ini index f96619d36fab..fb7a5cd6fc2c 100644 --- a/testing/web-platform/meta/web-animations/animation-model/animation-types/interpolation-per-property.html.ini +++ b/testing/web-platform/meta/web-animations/animation-model/animation-types/interpolation-per-property.html.ini @@ -7,17 +7,37 @@ prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.en [font-variation-settings supports animation as float with multiple tags] expected: - if stylo: PASS - FAIL + if not stylo: FAIL [font-variation-settings supports animation as float with multiple duplicate tags] expected: - if stylo: PASS - FAIL + if not stylo: FAIL [transform: non-invertible matrices in matched transform lists] expected: - if stylo: PASS - FAIL + if not stylo: FAIL bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1400167 + [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing] + expected: + if not stylo: FAIL + + [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing] + expected: + if not stylo: FAIL + + [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing] + expected: + if not stylo: FAIL + + [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with effect easing] + expected: + if not stylo: FAIL + + [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with effect easing] + expected: + if not stylo: FAIL + + [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with keyframe easing] + expected: + if not stylo: FAIL From 04dd99c30f299ce2c99f6bfc415e8e9bfa7fa3ce Mon Sep 17 00:00:00 2001 From: Luca Greco Date: Fri, 17 Nov 2017 16:27:06 +0100 Subject: [PATCH 12/77] Bug 1409697 - Fix multiple addon options rendered on addon reload. r=aswan MozReview-Commit-ID: 5IRvDqdW1ZO --HG-- extra : rebase_source : a3ea4959f027e86ff220c9fb835582be7c3ae130 --- .../mozapps/extensions/content/extensions.js | 48 ++++++-- .../test/browser/browser-common.ini | 2 + .../browser_webext_options_addon_reload.js | 105 ++++++++++++++++++ 3 files changed, 146 insertions(+), 9 deletions(-) create mode 100644 toolkit/mozapps/extensions/test/browser/browser_webext_options_addon_reload.js diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js index b357bc5e3727..fd76ef7b28ed 100644 --- a/toolkit/mozapps/extensions/content/extensions.js +++ b/toolkit/mozapps/extensions/content/extensions.js @@ -3607,11 +3607,13 @@ var gDetailView = { const browserContainer = await this.createOptionsBrowser(rows); - // Make sure the browser is unloaded as soon as we change views, - // rather than waiting for the next detail view to load. - document.addEventListener("ViewChanged", function() { - browserContainer.remove(); - }, {once: true}); + if (browserContainer) { + // Make sure the browser is unloaded as soon as we change views, + // rather than waiting for the next detail view to load. + document.addEventListener("ViewChanged", function() { + browserContainer.remove(); + }, {once: true}); + } finish(browserContainer); }); @@ -3637,8 +3639,17 @@ var gDetailView = { }, async createOptionsBrowser(parentNode) { - let stack = document.createElement("stack"); - stack.setAttribute("id", "addon-options-prompts-stack"); + const containerId = "addon-options-prompts-stack"; + + let stack = document.getElementById(containerId); + + if (stack) { + // Remove the existent options container (if any). + stack.remove(); + } + + stack = document.createElement("stack"); + stack.setAttribute("id", containerId); let browser = document.createElement("browser"); browser.setAttribute("type", "content"); @@ -3656,7 +3667,7 @@ var gDetailView = { event.stopPropagation(); }); - let {optionsURL} = this._addon; + let {optionsURL, optionsBrowserStyle} = this._addon; let remote = !E10SUtils.canLoadURIInProcess(optionsURL, Services.appinfo.PROCESS_TYPE_DEFAULT); let readyPromise; @@ -3675,6 +3686,15 @@ var gDetailView = { browser.clientTop; await readyPromise; + + if (!browser.messageManager) { + // If the browser.messageManager is undefined, the browser element has been + // removed from the document in the meantime (e.g. due to a rapid sequence + // of addon reload), ensure that the stack is also removed and return null. + stack.remove(); + return null; + } + ExtensionParent.apiManager.emit("extension-browser-inserted", browser); return new Promise(resolve => { @@ -3688,6 +3708,16 @@ var gDetailView = { }; let mm = browser.messageManager; + + if (!mm) { + // If the browser.messageManager is undefined, the browser element has been + // removed from the document in the meantime (e.g. due to a rapid sequence + // of addon reload), ensure that the stack is also removed and return null. + stack.remove(); + resolve(null); + return; + } + mm.loadFrameScript("chrome://extensions/content/ext-browser-content.js", false); mm.addMessageListener("Extension:BrowserContentLoaded", messageListener); @@ -3698,7 +3728,7 @@ var gDetailView = { isInline: true, }; - if (this._addon.optionsBrowserStyle) { + if (optionsBrowserStyle) { browserOptions.stylesheets = extensionStylesheets; } diff --git a/toolkit/mozapps/extensions/test/browser/browser-common.ini b/toolkit/mozapps/extensions/test/browser/browser-common.ini index d84611f71d76..0c02c94a16f1 100644 --- a/toolkit/mozapps/extensions/test/browser/browser-common.ini +++ b/toolkit/mozapps/extensions/test/browser/browser-common.ini @@ -57,3 +57,5 @@ tags = blocklist skip-if = buildapp == 'mulet' [browser_webext_options.js] tags = webextensions +[browser_webext_options_addon_reload.js] +tags = webextensions \ No newline at end of file diff --git a/toolkit/mozapps/extensions/test/browser/browser_webext_options_addon_reload.js b/toolkit/mozapps/extensions/test/browser/browser_webext_options_addon_reload.js new file mode 100644 index 000000000000..a1eba34dabf0 --- /dev/null +++ b/toolkit/mozapps/extensions/test/browser/browser_webext_options_addon_reload.js @@ -0,0 +1,105 @@ +/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set sts=2 sw=2 et tw=80: */ +"use strict"; + +const {AddonTestUtils} = Cu.import("resource://testing-common/AddonTestUtils.jsm", {}); +const {ExtensionParent} = Cu.import("resource://gre/modules/ExtensionParent.jsm", {}); + +// This test function helps to detect when an addon options browser have been inserted +// in the about:addons page. +function waitOptionsBrowserInserted() { + return new Promise(resolve => { + async function listener(eventName, browser) { + // wait for a webextension XUL browser element that is owned by the "about:addons" page. + if (browser.ownerDocument.location.href == "about:addons") { + ExtensionParent.apiManager.off("extension-browser-inserted", listener); + + resolve(browser); + } + } + ExtensionParent.apiManager.on("extension-browser-inserted", listener); + }); +} + +add_task(async function test_options_on_addon_reload() { + const ID = "@test-options-on-addon-reload"; + + function backgroundScript() { + const {browser} = window; + browser.runtime.openOptionsPage(); + } + + let extensionDefinition = { + useAddonManager: "temporary", + + manifest: { + "options_ui": { + "page": "options.html", + }, + "applications": { + "gecko": { + "id": ID, + }, + }, + }, + files: { + "options.html": ` + + + + + + Extension Options UI + + `, + }, + background: backgroundScript, + }; + + await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:addons"); + + const extension = ExtensionTestUtils.loadExtension(extensionDefinition); + + const onceOptionsBrowserInserted = waitOptionsBrowserInserted(); + + await extension.startup(); + + info("Wait the options_ui page XUL browser to be created"); + await onceOptionsBrowserInserted; + + const aboutAddonsDocument = gBrowser.selectedBrowser.contentDocument; + + Assert.equal(aboutAddonsDocument.location.href, "about:addons", + "The about:addons page is the currently selected tab"); + + const optionsBrowsers = aboutAddonsDocument.querySelectorAll("#addon-options"); + Assert.equal(optionsBrowsers.length, 1, "Got a single XUL browser for the addon options_ui page"); + + // Reload the addon five times in a row, and then check that there is still one addon options browser. + + let addon = await AddonManager.getAddonByID(ID); + + for (let i = 0; i < 5; i++) { + const onceOptionsReloaded = Promise.all([ + // Reloading the addon currently prevents the extension.awaitMessage test helper to be able + // to receive test messages from the reloaded extension, this test function helps to wait + // the extension has been restarted on addon reload. + AddonTestUtils.promiseWebExtensionStartup(), + TestUtils.topicObserved(AddonManager.OPTIONS_NOTIFICATION_DISPLAYED, + (subject, data) => data == extension.id), + ]); + + await addon.reload(); + + info("Wait the new options_ui page XUL browser to be created"); + await onceOptionsReloaded; + + let optionsBrowsers = aboutAddonsDocument.querySelectorAll("#addon-options"); + + Assert.equal(optionsBrowsers.length, 1, "Got a single XUL browser for the addon options_ui page"); + } + + await BrowserTestUtils.removeTab(gBrowser.selectedTab); + + await extension.unload(); +}); From 8a1f9ea7aea19fa9456199ef831115a642a8e56f Mon Sep 17 00:00:00 2001 From: Mark Striemer Date: Wed, 22 Nov 2017 19:00:58 -0600 Subject: [PATCH 13/77] Bug 1390158 - Notify user of extension controlling New Tab on first access r=aswan,jaws MozReview-Commit-ID: 1g9d4UTuOgr --HG-- extra : rebase_source : 29e07cff103e7751bf4ca414a88f89136d3ac237 --- browser/base/content/utilityOverlay.js | 3 +- .../customizableui/content/panelUI.inc.xul | 25 ++ .../extensions/ext-url-overrides.js | 103 ++++++- .../browser_ext_url_overrides_newtab.js | 279 +++++++++++++++++- .../components/newtab/aboutNewTabService.js | 1 + .../newtab/nsIAboutNewTabService.idl | 5 + .../locales/en-US/chrome/browser/browser.dtd | 7 + .../shared/customizableui/panelUI.inc.css | 25 ++ 8 files changed, 442 insertions(+), 6 deletions(-) diff --git a/browser/base/content/utilityOverlay.js b/browser/base/content/utilityOverlay.js index 2cc27580f2fa..bcecff39a0f8 100644 --- a/browser/base/content/utilityOverlay.js +++ b/browser/base/content/utilityOverlay.js @@ -466,7 +466,8 @@ function openLinkIn(url, where, params) { loadInBackground = !loadInBackground; // fall through case "tab": - focusUrlBar = !loadInBackground && w.isBlankPageURL(url); + focusUrlBar = !loadInBackground && w.isBlankPageURL(url) + && !aboutNewTabService.willNotifyUser; let tabUsedForLoad = w.gBrowser.loadOneTab(url, { referrerURI: aReferrerURI, diff --git a/browser/components/customizableui/content/panelUI.inc.xul b/browser/components/customizableui/content/panelUI.inc.xul index 25c322b0afa8..0a050088c21a 100644 --- a/browser/components/customizableui/content/panelUI.inc.xul +++ b/browser/components/customizableui/content/panelUI.inc.xul @@ -683,3 +683,28 @@ label="&customizeMode.autoHideDownloadsButton.label;" checked="true" oncommand="gCustomizeMode.onDownloadsAutoHideChange(event)"/> + + diff --git a/browser/components/extensions/ext-url-overrides.js b/browser/components/extensions/ext-url-overrides.js index 2d83c61dd43f..cdd5c574f850 100644 --- a/browser/components/extensions/ext-url-overrides.js +++ b/browser/components/extensions/ext-url-overrides.js @@ -1,11 +1,16 @@ /* 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/. */ +/* import-globals-from ext-browser.js */ "use strict"; XPCOMUtils.defineLazyModuleGetter(this, "ExtensionSettingsStore", "resource://gre/modules/ExtensionSettingsStore.jsm"); +XPCOMUtils.defineLazyModuleGetter(this, "AddonManager", + "resource://gre/modules/AddonManager.jsm"); +XPCOMUtils.defineLazyModuleGetter(this, "CustomizableUI", + "resource:///modules/CustomizableUI.jsm"); XPCOMUtils.defineLazyServiceGetter(this, "aboutNewTabService", "@mozilla.org/browser/aboutnewtab-service;1", @@ -13,13 +18,102 @@ XPCOMUtils.defineLazyServiceGetter(this, "aboutNewTabService", const STORE_TYPE = "url_overrides"; const NEW_TAB_SETTING_NAME = "newTabURL"; +const NEW_TAB_CONFIRMED_TYPE = "newTabNotification"; + +function userWasNotified(extensionId) { + let setting = ExtensionSettingsStore.getSetting(NEW_TAB_CONFIRMED_TYPE, extensionId); + return setting && setting.value; +} + +async function handleNewTabOpened() { + // We don't need to open the doorhanger again until the controlling add-on changes. + // eslint-disable-next-line no-use-before-define + removeNewTabObserver(); + + let item = ExtensionSettingsStore.getSetting(STORE_TYPE, NEW_TAB_SETTING_NAME); + + if (!item || !item.id || userWasNotified(item.id)) { + return; + } + + // Find the elements we need. + let win = windowTracker.getCurrentWindow({}); + let doc = win.document; + let panel = doc.getElementById("extension-notification-panel"); + + // Setup the command handler. + let handleCommand = async (event) => { + if (event.originalTarget.getAttribute("anonid") == "button") { + // Main action is to keep changes. + await ExtensionSettingsStore.addSetting( + item.id, NEW_TAB_CONFIRMED_TYPE, item.id, true, () => false); + } else { + // Secondary action is to restore settings. + ExtensionSettingsStore.removeSetting(NEW_TAB_CONFIRMED_TYPE, item.id); + let addon = await AddonManager.getAddonByID(item.id); + addon.userDisabled = true; + } + panel.hidePopup(); + win.gURLBar.focus(); + }; + panel.addEventListener("command", handleCommand); + panel.addEventListener("popuphidden", () => { + panel.removeEventListener("command", handleCommand); + }, {once: true}); + + // Look for a browserAction on the toolbar. + let action = CustomizableUI.getWidget( + `${global.makeWidgetId(item.id)}-browser-action`); + if (action) { + action = action.areaType == "toolbar" && action.forWindow(win).node; + } + + // Anchor to a toolbar browserAction if found, otherwise use the menu button. + let anchor = doc.getAnonymousElementByAttribute( + action || doc.getElementById("PanelUI-menu-button"), + "class", "toolbarbutton-icon"); + panel.hidden = false; + panel.openPopup(anchor); +} + +let newTabOpenedListener = { + observe(subject, topic, data) { + // Do this work in an idle callback to avoid interfering with new tab performance tracking. + windowTracker + .getCurrentWindow({}) + .requestIdleCallback(handleNewTabOpened); + }, +}; + +function removeNewTabObserver() { + if (aboutNewTabService.willNotifyUser) { + Services.obs.removeObserver(newTabOpenedListener, "browser-open-newtab-start"); + aboutNewTabService.willNotifyUser = false; + } +} + +function addNewTabObserver(extensionId) { + if (!aboutNewTabService.willNotifyUser && extensionId && !userWasNotified(extensionId)) { + Services.obs.addObserver(newTabOpenedListener, "browser-open-newtab-start"); + aboutNewTabService.willNotifyUser = true; + } +} + +function setNewTabURL(extensionId, url) { + aboutNewTabService.newTabURL = url; + if (aboutNewTabService.overridden) { + addNewTabObserver(extensionId); + } else { + removeNewTabObserver(); + } +} this.urlOverrides = class extends ExtensionAPI { processNewTabSetting(action) { let {extension} = this; let item = ExtensionSettingsStore[action](extension.id, STORE_TYPE, NEW_TAB_SETTING_NAME); if (item) { - aboutNewTabService.newTabURL = item.value || item.initialValue; + setNewTabURL(item.id, item.value || item.initialValue); } } @@ -33,6 +127,11 @@ this.urlOverrides = class extends ExtensionAPI { // Set up the shutdown code for the setting. extension.callOnClose({ close: () => { + if (extension.shutdownReason == "ADDON_DISABLE" + || extension.shutdownReason == "ADDON_UNINSTALL") { + ExtensionSettingsStore.removeSetting( + extension.id, NEW_TAB_CONFIRMED_TYPE, extension.id); + } switch (extension.shutdownReason) { case "ADDON_DISABLE": this.processNewTabSetting("disable"); @@ -65,7 +164,7 @@ this.urlOverrides = class extends ExtensionAPI { // Set the newTabURL to the current value of the setting. if (item) { - aboutNewTabService.newTabURL = item.value || item.initialValue; + setNewTabURL(extension.id, item.value || item.initialValue); } } } diff --git a/browser/components/extensions/test/browser/browser_ext_url_overrides_newtab.js b/browser/components/extensions/test/browser/browser_ext_url_overrides_newtab.js index 9d6041b2426f..452d20fcfd87 100644 --- a/browser/components/extensions/test/browser/browser_ext_url_overrides_newtab.js +++ b/browser/components/extensions/test/browser/browser_ext_url_overrides_newtab.js @@ -3,9 +3,44 @@ "use strict"; +XPCOMUtils.defineLazyModuleGetter(this, "ExtensionSettingsStore", + "resource://gre/modules/ExtensionSettingsStore.jsm"); + const NEWTAB_URI_1 = "webext-newtab-1.html"; -add_task(async function test_sending_message_from_newtab_page() { +function getNotificationSetting(extensionId) { + return ExtensionSettingsStore.getSetting("newTabNotification", extensionId); +} + +function getNewTabDoorhanger() { + return document.getElementById("extension-new-tab-notification"); +} + +function clickKeepChanges(notification) { + let button = document.getAnonymousElementByAttribute( + notification, "anonid", "button"); + button.click(); +} + +function clickRestoreSettings(notification) { + let button = document.getAnonymousElementByAttribute( + notification, "anonid", "secondarybutton"); + button.click(); +} + +function waitForNewTab() { + let eventName = "browser-open-newtab-start"; + return new Promise(resolve => { + function observer() { + Services.obs.removeObserver(observer, eventName); + resolve(); + } + Services.obs.addObserver(observer, eventName); + }); +} + +add_task(async function test_new_tab_opens() { + let panel = getNewTabDoorhanger().closest("panel"); let extension = ExtensionTestUtils.loadExtension({ manifest: { "chrome_url_overrides": { @@ -36,28 +71,266 @@ add_task(async function test_sending_message_from_newtab_page() { await extension.startup(); // Simulate opening the newtab open as a user would. + let popupShown = promisePopupShown(panel); BrowserOpenTab(); + await popupShown; let url = await extension.awaitMessage("from-newtab-page"); ok(url.endsWith(NEWTAB_URI_1), - "Newtab url is overriden by the extension."); + "Newtab url is overridden by the extension."); + + // This will show a confirmation doorhanger, make sure we don't leave it open. + let popupHidden = promisePopupHidden(panel); + panel.hidePopup(); + await popupHidden; await BrowserTestUtils.removeTab(gBrowser.selectedTab); await extension.unload(); }); +add_task(async function test_new_tab_ignore_settings() { + await ExtensionSettingsStore.initialize(); + let notification = getNewTabDoorhanger(); + let panel = notification.closest("panel"); + let extensionId = "newtabignore@mochi.test"; + let extension = ExtensionTestUtils.loadExtension({ + manifest: { + applications: {gecko: {id: extensionId}}, + browser_action: {default_popup: "ignore.html"}, + chrome_url_overrides: {newtab: "ignore.html"}, + }, + files: {"ignore.html": '

New Tab!

'}, + useAddonManager: "temporary", + }); + + ok(panel.getAttribute("panelopen") != "true", + "The notification panel is initially closed"); + + await extension.startup(); + + // Simulate opening the New Tab as a user would. + let popupShown = promisePopupShown(panel); + BrowserOpenTab(); + await popupShown; + + // Ensure the doorhanger is shown and the setting isn't set yet. + is(panel.getAttribute("panelopen"), "true", + "The notification panel is open after opening New Tab"); + is(gURLBar.focused, false, "The URL bar is not focused with a doorhanger"); + is(getNotificationSetting(extensionId), null, + "The New Tab notification is not set for this extension"); + is(panel.anchorNode.closest("toolbarbutton").id, + "newtabignore_mochi_test-browser-action", + "The doorhanger is anchored to the browser action"); + + // Manually close the panel, as if the user ignored it. + let popupHidden = promisePopupHidden(panel); + panel.hidePopup(); + await popupHidden; + + // Ensure panel is closed and the setting still isn't set. + ok(panel.getAttribute("panelopen") != "true", + "The notification panel is closed"); + is(getNotificationSetting(extensionId), null, + "The New Tab notification is not set after ignoring the doorhanger"); + + // Close the first tab and open another new tab. + await BrowserTestUtils.removeTab(gBrowser.selectedTab); + let newTabOpened = waitForNewTab(); + BrowserOpenTab(); + await newTabOpened; + + // Verify the doorhanger is not shown a second time. + ok(panel.getAttribute("panelopen") != "true", + "The notification panel doesn't open after ignoring the doorhanger"); + is(gURLBar.focused, true, "The URL bar is focused with no doorhanger"); + + await BrowserTestUtils.removeTab(gBrowser.selectedTab); + await extension.unload(); +}); + +add_task(async function test_new_tab_keep_settings() { + await ExtensionSettingsStore.initialize(); + let notification = getNewTabDoorhanger(); + let panel = notification.closest("panel"); + let extensionId = "newtabkeep@mochi.test"; + let manifest = { + version: "1.0", + applications: {gecko: {id: extensionId}}, + chrome_url_overrides: {newtab: "keep.html"}, + }; + let files = { + "keep.html": '

New Tab!

', + "newtab.js": () => { window.onload = browser.test.sendMessage("newtab"); }, + }; + let extension = ExtensionTestUtils.loadExtension({ + manifest, + files, + useAddonManager: "permanent", + }); + + ok(panel.getAttribute("panelopen") != "true", + "The notification panel is initially closed"); + + await extension.startup(); + + // Simulate opening the New Tab as a user would. + let popupShown = promisePopupShown(panel); + BrowserOpenTab(); + await extension.awaitMessage("newtab"); + await popupShown; + + // Ensure the panel is open and the setting isn't saved yet. + is(panel.getAttribute("panelopen"), "true", + "The notification panel is open after opening New Tab"); + is(getNotificationSetting(extensionId), null, + "The New Tab notification is not set for this extension"); + is(panel.anchorNode.closest("toolbarbutton").id, "PanelUI-menu-button", + "The doorhanger is anchored to the menu icon"); + + // Click the Keep Changes button. + let popupHidden = promisePopupHidden(panel); + clickKeepChanges(notification); + await popupHidden; + + // Ensure panel is closed and setting is updated. + ok(panel.getAttribute("panelopen") != "true", + "The notification panel is closed after click"); + is(getNotificationSetting(extensionId).value, true, + "The New Tab notification is set after keeping the changes"); + + // Close the first tab and open another new tab. + await BrowserTestUtils.removeTab(gBrowser.selectedTab); + BrowserOpenTab(); + await extension.awaitMessage("newtab"); + + // Verify the doorhanger is not shown a second time. + ok(panel.getAttribute("panelopen") != "true", + "The notification panel is not opened after keeping the changes"); + + await BrowserTestUtils.removeTab(gBrowser.selectedTab); + + let upgradedExtension = ExtensionTestUtils.loadExtension({ + manifest: Object.assign({}, manifest, {version: "2.0"}), + files, + useAddonManager: "permanent", + }); + + await upgradedExtension.startup(); + + BrowserOpenTab(); + await upgradedExtension.awaitMessage("newtab"); + + // Ensure panel is closed and setting is still set. + ok(panel.getAttribute("panelopen") != "true", + "The notification panel is closed after click"); + is(getNotificationSetting(extensionId).value, true, + "The New Tab notification is set after keeping the changes"); + + await BrowserTestUtils.removeTab(gBrowser.selectedTab); + await extension.unload(); + await upgradedExtension.unload(); +}); + +add_task(async function test_new_tab_restore_settings() { + await ExtensionSettingsStore.initialize(); + let notification = getNewTabDoorhanger(); + let panel = notification.closest("panel"); + let extensionId = "newtabrestore@mochi.test"; + let extension = ExtensionTestUtils.loadExtension({ + manifest: { + applications: {gecko: {id: extensionId}}, + chrome_url_overrides: {newtab: "restore.html"}, + }, + files: {"restore.html": '

New Tab!

'}, + useAddonManager: "temporary", + }); + + ok(panel.getAttribute("panelopen") != "true", + "The notification panel is initially closed"); + is(getNotificationSetting(extensionId), null, + "The New Tab notification is not initially set for this extension"); + + await extension.startup(); + + // Simulate opening the newtab open as a user would. + let popupShown = promisePopupShown(panel); + BrowserOpenTab(); + await popupShown; + + // Verify that the panel is open and add-on is enabled. + let addon = await AddonManager.getAddonByID(extensionId); + is(addon.userDisabled, false, "The add-on is enabled at first"); + is(panel.getAttribute("panelopen"), "true", + "The notification panel is open after opening New Tab"); + is(getNotificationSetting(extensionId), null, + "The New Tab notification is not set for this extension"); + + // Click the Restore Changes button. + let addonDisabled = new Promise(resolve => { + let listener = { + onDisabled(disabledAddon) { + if (disabledAddon.id == addon.id) { + resolve(); + AddonManager.removeAddonListener(listener); + } + }, + }; + AddonManager.addAddonListener(listener); + }); + let popupHidden = promisePopupHidden(panel); + clickRestoreSettings(notification); + await popupHidden; + await addonDisabled; + + // Ensure panel is closed, settings haven't changed and add-on is disabled. + ok(panel.getAttribute("panelopen") != "true", + "The notification panel is closed after click"); + is(getNotificationSetting(extensionId), null, + "The New Tab notification is not set after resorting the settings"); + is(addon.userDisabled, true, "The extension is now disabled"); + + // Reopen a browser tab and verify that there's no doorhanger. + await BrowserTestUtils.removeTab(gBrowser.selectedTab); + let newTabOpened = waitForNewTab(); + BrowserOpenTab(); + await newTabOpened; + + ok(panel.getAttribute("panelopen") != "true", + "The notification panel is not opened after keeping the changes"); + + // FIXME: We need to enable the add-on so it gets cleared from the + // ExtensionSettingsStore for now. See bug 1408226. + let addonEnabled = new Promise(resolve => { + let listener = { + onEnabled(enabledAddon) { + if (enabledAddon.id == addon.id) { + AddonManager.removeAddonListener(listener); + resolve(); + } + }, + }; + AddonManager.addAddonListener(listener); + }); + addon.userDisabled = false; + await BrowserTestUtils.removeTab(gBrowser.selectedTab); + await addonEnabled; + await extension.unload(); +}); + /** * Ensure we don't show the extension URL in the URL bar temporarily in new tabs * while we're switching remoteness (when the URL we're loading and the * default content principal are different). */ add_task(async function dontTemporarilyShowAboutExtensionPath() { + await ExtensionSettingsStore.initialize(); let extension = ExtensionTestUtils.loadExtension({ manifest: { name: "Test Extension", applications: { gecko: { - id: "newtab@mochi.test", + id: "newtaburl@mochi.test", }, }, chrome_url_overrides: { diff --git a/browser/components/newtab/aboutNewTabService.js b/browser/components/newtab/aboutNewTabService.js index 307264cc1315..8128f70bbb15 100644 --- a/browser/components/newtab/aboutNewTabService.js +++ b/browser/components/newtab/aboutNewTabService.js @@ -95,6 +95,7 @@ AboutNewTabService.prototype = { _activityStreamPath: "", _activityStreamDebug: false, _overridden: false, + willNotifyUser: false, classID: Components.ID("{dfcd2adc-7867-4d3a-ba70-17501f208142}"), QueryInterface: XPCOMUtils.generateQI([ diff --git a/browser/components/newtab/nsIAboutNewTabService.idl b/browser/components/newtab/nsIAboutNewTabService.idl index 33af488d584f..5a697a24c803 100644 --- a/browser/components/newtab/nsIAboutNewTabService.idl +++ b/browser/components/newtab/nsIAboutNewTabService.idl @@ -23,6 +23,11 @@ interface nsIAboutNewTabService : nsISupports */ attribute ACString defaultURL; + /** + * Returns true if opening the New Tab page will notify the user of a change. + */ + attribute bool willNotifyUser; + /** * Returns true if the default resource got overridden. */ diff --git a/browser/locales/en-US/chrome/browser/browser.dtd b/browser/locales/en-US/chrome/browser/browser.dtd index 9ad67a05c59d..4e715334e024 100644 --- a/browser/locales/en-US/chrome/browser/browser.dtd +++ b/browser/locales/en-US/chrome/browser/browser.dtd @@ -967,6 +967,13 @@ you can use these alternative items. Otherwise, their values should be empty. - + + + + + + + diff --git a/browser/themes/shared/customizableui/panelUI.inc.css b/browser/themes/shared/customizableui/panelUI.inc.css index 4f17fe2ee3a3..279833cea506 100644 --- a/browser/themes/shared/customizableui/panelUI.inc.css +++ b/browser/themes/shared/customizableui/panelUI.inc.css @@ -47,6 +47,7 @@ border: none; } +#PanelUI-menu-button[badge-status="extension-new-tab"] > .toolbarbutton-badge-stack > .toolbarbutton-badge, #PanelUI-menu-button[badge-status="download-success"] > .toolbarbutton-badge-stack > .toolbarbutton-badge { display: none; } @@ -326,6 +327,30 @@ panelview:not([mainview]) .toolbarbutton-text, padding: 4px 0; } +/* START notification popups for extension controlled content */ +#extension-notification-panel > .panel-arrowcontainer > .panel-arrowcontent { + padding: 0; +} + +#extension-new-tab-notification > .popup-notification-body-container > .popup-notification-body { + width: 30em; +} + +#extension-new-tab-notification > .popup-notification-body-container > .popup-notification-body > hbox > vbox > .popup-notification-description { + font-size: 1.3em; + font-weight: lighter; +} + +#extension-new-tab-notification-description { + margin-bottom: 0; +} + +#extension-new-tab-notification > .popup-notification-body-container > .popup-notification-body > .popup-notification-warning, +#extension-new-tab-notification > .popup-notification-body-container > .popup-notification-icon { + display: none; +} +/* END notification popups for extension controlled content */ + #appMenu-popup > .panel-arrowcontainer > .panel-arrowcontent, panel[photon] > .panel-arrowcontainer > .panel-arrowcontent { padding: 0; From a3c09a51bc45095944c113b00adf4af5098419b5 Mon Sep 17 00:00:00 2001 From: Jeremy Chen Date: Sun, 26 Nov 2017 23:37:46 +0800 Subject: [PATCH 14/77] Bug 1420724 - remove duplicated include declaration in nsCSSFrameConstructor. r=heycam MozReview-Commit-ID: KZz7C4gF3md --HG-- extra : rebase_source : b101f60dedeaf4d08880f0d614966c2ca056a9e6 --- layout/base/nsCSSFrameConstructor.h | 1 - 1 file changed, 1 deletion(-) diff --git a/layout/base/nsCSSFrameConstructor.h b/layout/base/nsCSSFrameConstructor.h index 3c4253a5b363..e9f901e0e22e 100644 --- a/layout/base/nsCSSFrameConstructor.h +++ b/layout/base/nsCSSFrameConstructor.h @@ -16,7 +16,6 @@ #include "mozilla/Attributes.h" #include "mozilla/LinkedList.h" #include "mozilla/RestyleManager.h" -#include "mozilla/RestyleManager.h" #include "nsCOMPtr.h" #include "nsILayoutHistoryState.h" From 447c6c888f0a863008f537e6b7d9a5058f6c64b2 Mon Sep 17 00:00:00 2001 From: Chun-Min Chang Date: Wed, 8 Nov 2017 13:43:08 +0800 Subject: [PATCH 15/77] Bug 654787 - part1: Add pref for audio seamless looping; r=jwwang MozReview-Commit-ID: 1md5AxHG8NA --HG-- extra : rebase_source : c13002de65c523a508f01564cc2730aff4a36086 --- dom/media/MediaPrefs.h | 2 ++ modules/libpref/init/all.js | 3 +++ 2 files changed, 5 insertions(+) diff --git a/dom/media/MediaPrefs.h b/dom/media/MediaPrefs.h index 082695ae39a6..8bd06a774ab9 100644 --- a/dom/media/MediaPrefs.h +++ b/dom/media/MediaPrefs.h @@ -203,6 +203,8 @@ private: DECL_MEDIA_PREF("media.cubeb.sandbox", CubebSandbox, bool, false); DECL_MEDIA_PREF("media.videocontrols.lock-video-orientation", VideoOrientationLockEnabled, bool, false); + // Media Seamless Looping + DECL_MEDIA_PREF("media.seamless-looping", SeamlessLooping, bool, true); public: // Manage the singleton: static MediaPrefs& GetSingleton(); diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index d8b6af0d2e05..c7596832fdcd 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -436,6 +436,9 @@ pref("media.suspend-bkgnd-video.delay-ms", 10000); // reduce the resume latency and improve the user experience. pref("media.resume-bkgnd-video-on-tabhover", true);; +// Whether to enable media seamless looping. +pref("media.seamless-looping", true); + #ifdef MOZ_WEBRTC pref("media.navigator.enabled", true); pref("media.navigator.video.enabled", true); From f999f07ca88af112e6d91840554140e6021a6694 Mon Sep 17 00:00:00 2001 From: Chun-Min Chang Date: Fri, 10 Nov 2017 12:06:12 +0800 Subject: [PATCH 16/77] Bug 654787 - part2: Teach ReaderProxy about audio looping; r=jwwang MozReview-Commit-ID: FK0FRffDzjJ --HG-- extra : rebase_source : 9d2f93edb80c84fbbf451361fdb2887d91a10789 --- dom/media/MediaDecoderStateMachine.cpp | 18 ++++++++++++++++++ dom/media/MediaDecoderStateMachine.h | 3 +++ dom/media/ReaderProxy.cpp | 8 ++++++++ dom/media/ReaderProxy.h | 5 +++++ 4 files changed, 34 insertions(+) diff --git a/dom/media/MediaDecoderStateMachine.cpp b/dom/media/MediaDecoderStateMachine.cpp index a02e41806083..a8f99b0e13de 100644 --- a/dom/media/MediaDecoderStateMachine.cpp +++ b/dom/media/MediaDecoderStateMachine.cpp @@ -2198,6 +2198,13 @@ DecodeMetadataState::OnMetadataRead(MetadataHolder&& aMetadata) Move(aMetadata.mTags), MediaDecoderEventVisibility::Observable); + // Check whether the media satisfies the requirement of seamless looing. + // (Before checking the media is audio only, we need to get metadata first.) + mMaster->mSeamlessLoopingAllowed = MediaPrefs::SeamlessLooping() && + mMaster->HasAudio() && + !mMaster->HasVideo(); + mMaster->LoopingChanged(); + SetState(); } @@ -2621,6 +2628,7 @@ MediaDecoderStateMachine::MediaDecoderStateMachine(MediaDecoder* aDecoder, mOutputStreamManager(new OutputStreamManager()), mVideoDecodeMode(VideoDecodeMode::Normal), mIsMSE(aDecoder->IsMSE()), + mSeamlessLoopingAllowed(false), INIT_MIRROR(mBuffered, TimeIntervals()), INIT_MIRROR(mPlayState, MediaDecoder::PLAY_STATE_LOADING), INIT_MIRROR(mVolume, 1.0), @@ -2677,6 +2685,7 @@ MediaDecoderStateMachine::InitializationTask(MediaDecoder* aDecoder) mWatchManager.Watch(mPreservesPitch, &MediaDecoderStateMachine::PreservesPitchChanged); mWatchManager.Watch(mPlayState, &MediaDecoderStateMachine::PlayStateChanged); + mWatchManager.Watch(mLooping, &MediaDecoderStateMachine::LoopingChanged); MOZ_ASSERT(!mStateObj); auto* s = new DecodeMetadataState(this); @@ -3560,6 +3569,15 @@ void MediaDecoderStateMachine::PreservesPitchChanged() mMediaSink->SetPreservesPitch(mPreservesPitch); } +void +MediaDecoderStateMachine::LoopingChanged() +{ + MOZ_ASSERT(OnTaskQueue()); + if (mSeamlessLoopingAllowed) { + mReader->SetSeamlessLoopingEnabled(mLooping); + } +} + TimeUnit MediaDecoderStateMachine::AudioEndTime() const { diff --git a/dom/media/MediaDecoderStateMachine.h b/dom/media/MediaDecoderStateMachine.h index 1d400748e9b5..d65f6771d393 100644 --- a/dom/media/MediaDecoderStateMachine.h +++ b/dom/media/MediaDecoderStateMachine.h @@ -359,6 +359,7 @@ protected: void VolumeChanged(); void SetPlaybackRate(double aPlaybackRate); void PreservesPitchChanged(); + void LoopingChanged(); MediaQueue& AudioQueue() { return mAudioQueue; } MediaQueue& VideoQueue() { return mVideoQueue; } @@ -666,6 +667,8 @@ private: const bool mIsMSE; + bool mSeamlessLoopingAllowed; + private: // The buffered range. Mirrored from the decoder thread. Mirror mBuffered; diff --git a/dom/media/ReaderProxy.cpp b/dom/media/ReaderProxy.cpp index 8821de780715..935ce3cf1e87 100644 --- a/dom/media/ReaderProxy.cpp +++ b/dom/media/ReaderProxy.cpp @@ -19,6 +19,7 @@ ReaderProxy::ReaderProxy(AbstractThread* aOwnerThread, , mDuration(aReader->OwnerThread(), media::NullableTimeUnit(), "ReaderProxy::mDuration (Mirror)") + , mSeamlessLoopingEnabled(false) { // Must support either heuristic buffering or WaitForData(). MOZ_ASSERT(mReader->UseBufferingHeuristics() || @@ -222,4 +223,11 @@ ReaderProxy::SetCanonicalDuration( MOZ_DIAGNOSTIC_ASSERT(NS_SUCCEEDED(rv)); } +void +ReaderProxy::SetSeamlessLoopingEnabled(bool aEnabled) +{ + MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); + mSeamlessLoopingEnabled = aEnabled; +} + } // namespace mozilla diff --git a/dom/media/ReaderProxy.h b/dom/media/ReaderProxy.h index a92bd1b12375..3d3a4353a736 100644 --- a/dom/media/ReaderProxy.h +++ b/dom/media/ReaderProxy.h @@ -84,6 +84,8 @@ public: void SetCanonicalDuration( AbstractCanonical* aCanonical); + void SetSeamlessLoopingEnabled(bool aEnabled); + private: ~ReaderProxy(); RefPtr OnMetadataRead(MetadataHolder&& aMetadata); @@ -101,6 +103,9 @@ private: // Duration, mirrored from the state machine task queue. Mirror mDuration; + + // Indicates whether we should loop the media. + bool mSeamlessLoopingEnabled; }; } // namespace mozilla From 7f6de174cb1fe206a317ce9480494ba3cf86196c Mon Sep 17 00:00:00 2001 From: Chun-Min Chang Date: Fri, 10 Nov 2017 11:19:04 +0800 Subject: [PATCH 17/77] Bug 654787 - part3: Use OnAudioDataRequest{Completed, Failed} in ReaderProxy; r=jwwang MozReview-Commit-ID: A4vUGJ64QrB --HG-- extra : rebase_source : bb73633d0f1583fcf30ac75d917113dce7f88301 --- dom/media/ReaderProxy.cpp | 30 +++++++++++++++++++++--------- dom/media/ReaderProxy.h | 5 +++++ 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/dom/media/ReaderProxy.cpp b/dom/media/ReaderProxy.cpp index 935ce3cf1e87..da64ca18ca68 100644 --- a/dom/media/ReaderProxy.cpp +++ b/dom/media/ReaderProxy.cpp @@ -33,7 +33,6 @@ media::TimeUnit ReaderProxy::StartTime() const { MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); - MOZ_ASSERT(!mShutdown); return mStartTime.ref(); } @@ -53,26 +52,39 @@ ReaderProxy::ReadMetadata() &ReaderProxy::OnMetadataNotRead); } +RefPtr +ReaderProxy::OnAudioDataRequestCompleted(RefPtr aAudio) +{ + MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); + + int64_t startTime = StartTime().ToMicroseconds(); + aAudio->AdjustForStartTime(startTime); + return AudioDataPromise::CreateAndResolve(aAudio.forget(), __func__); +} + +RefPtr +ReaderProxy::OnAudioDataRequestFailed(const MediaResult& aError) +{ + MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); + + return AudioDataPromise::CreateAndReject(aError, __func__); +} + RefPtr ReaderProxy::RequestAudioData() { MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); MOZ_ASSERT(!mShutdown); - int64_t startTime = StartTime().ToMicroseconds(); return InvokeAsync(mReader->OwnerThread(), mReader.get(), __func__, &MediaFormatReader::RequestAudioData) ->Then(mOwnerThread, __func__, - [startTime](RefPtr aAudio) { - aAudio->AdjustForStartTime(startTime); - return AudioDataPromise::CreateAndResolve(aAudio.forget(), __func__); - }, - [](const MediaResult& aError) { - return AudioDataPromise::CreateAndReject(aError, __func__); - }); + this, + &ReaderProxy::OnAudioDataRequestCompleted, + &ReaderProxy::OnAudioDataRequestFailed); } RefPtr diff --git a/dom/media/ReaderProxy.h b/dom/media/ReaderProxy.h index 3d3a4353a736..2dd57d925b19 100644 --- a/dom/media/ReaderProxy.h +++ b/dom/media/ReaderProxy.h @@ -92,6 +92,11 @@ private: RefPtr OnMetadataNotRead(const MediaResult& aError); void UpdateDuration(); + RefPtr OnAudioDataRequestCompleted( + RefPtr aAudio); + RefPtr OnAudioDataRequestFailed( + const MediaResult& aError); + const RefPtr mOwnerThread; const RefPtr mReader; From 9fc65726907ff8c2cc29816747744edb1b124e6b Mon Sep 17 00:00:00 2001 From: Chun-Min Chang Date: Wed, 22 Nov 2017 11:17:09 +0800 Subject: [PATCH 18/77] Bug 654787 - part4: Keep decoding to MDSM in ReaderProxy when looping is on; r=jwwang MozReview-Commit-ID: 4oVaUmDUeFJ --HG-- extra : rebase_source : fc6e9b945f3730424b3722c4f7f35f59b8867a7e --- dom/media/ReaderProxy.cpp | 32 +++++++++++++++++++++++++++++++- dom/media/ReaderProxy.h | 2 ++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/dom/media/ReaderProxy.cpp b/dom/media/ReaderProxy.cpp index da64ca18ca68..79f6260b6759 100644 --- a/dom/media/ReaderProxy.cpp +++ b/dom/media/ReaderProxy.cpp @@ -19,6 +19,7 @@ ReaderProxy::ReaderProxy(AbstractThread* aOwnerThread, , mDuration(aReader->OwnerThread(), media::NullableTimeUnit(), "ReaderProxy::mDuration (Mirror)") + , mSeamlessLoopingBlocked(false) , mSeamlessLoopingEnabled(false) { // Must support either heuristic buffering or WaitForData(). @@ -67,7 +68,33 @@ ReaderProxy::OnAudioDataRequestFailed(const MediaResult& aError) { MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); - return AudioDataPromise::CreateAndReject(aError, __func__); + if (mSeamlessLoopingBlocked || !mSeamlessLoopingEnabled || + aError.Code() != NS_ERROR_DOM_MEDIA_END_OF_STREAM) { + return AudioDataPromise::CreateAndReject(aError, __func__); + } + + // For seamless looping, the demuxer is sought to the beginning and then + // keep requesting decoded data in advance, upon receiving EOS. + // The MDSM will not be aware of the EOS and keep receiving decoded data + // as usual while looping is on. + RefPtr self = this; + RefPtr reader = mReader; + ResetDecode(TrackInfo::kAudioTrack); + return Seek(SeekTarget(media::TimeUnit::Zero(), SeekTarget::Accurate)) + ->Then(mReader->OwnerThread(), + __func__, + [reader]() { return reader->RequestAudioData(); }, + [](const SeekRejectValue& aReject) { + return AudioDataPromise::CreateAndReject(aReject.mError, __func__); + }) + ->Then(mOwnerThread, + __func__, + [self](RefPtr aAudio) { + return self->OnAudioDataRequestCompleted(aAudio.forget()); + }, + [](const MediaResult& aError) { + return AudioDataPromise::CreateAndReject(aError, __func__); + }); } RefPtr @@ -76,6 +103,7 @@ ReaderProxy::RequestAudioData() MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); MOZ_ASSERT(!mShutdown); + mSeamlessLoopingBlocked = false; return InvokeAsync(mReader->OwnerThread(), mReader.get(), __func__, @@ -93,6 +121,7 @@ ReaderProxy::RequestVideoData(const media::TimeUnit& aTimeThreshold) MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); MOZ_ASSERT(!mShutdown); + mSeamlessLoopingBlocked = false; const auto threshold = aTimeThreshold > media::TimeUnit::Zero() ? aTimeThreshold + StartTime() : aTimeThreshold; @@ -119,6 +148,7 @@ RefPtr ReaderProxy::Seek(const SeekTarget& aTarget) { MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); + mSeamlessLoopingBlocked = true; SeekTarget adjustedTarget = aTarget; adjustedTarget.SetTime(adjustedTarget.GetTime() + StartTime()); return InvokeAsync(mReader->OwnerThread(), diff --git a/dom/media/ReaderProxy.h b/dom/media/ReaderProxy.h index 2dd57d925b19..1a656ffb398b 100644 --- a/dom/media/ReaderProxy.h +++ b/dom/media/ReaderProxy.h @@ -109,6 +109,8 @@ private: // Duration, mirrored from the state machine task queue. Mirror mDuration; + // To prevent seamless looping while seeking. + bool mSeamlessLoopingBlocked; // Indicates whether we should loop the media. bool mSeamlessLoopingEnabled; }; From a585c36a1837ceb40b8173401326732d7f79a1ff Mon Sep 17 00:00:00 2001 From: Chun-Min Chang Date: Fri, 10 Nov 2017 13:50:38 +0800 Subject: [PATCH 19/77] Bug 654787 - part5: Add the looping-offset time to audio data; r=jwwang MozReview-Commit-ID: LUNF9x6foEA --HG-- extra : rebase_source : f8603f9c502f5d3a9ab87d392d29d69059aab8d1 --- dom/media/ReaderProxy.cpp | 24 +++++++++++++++++++++--- dom/media/ReaderProxy.h | 6 ++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/dom/media/ReaderProxy.cpp b/dom/media/ReaderProxy.cpp index 79f6260b6759..21812eb5a856 100644 --- a/dom/media/ReaderProxy.cpp +++ b/dom/media/ReaderProxy.cpp @@ -58,8 +58,11 @@ ReaderProxy::OnAudioDataRequestCompleted(RefPtr aAudio) { MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); - int64_t startTime = StartTime().ToMicroseconds(); - aAudio->AdjustForStartTime(startTime); + // Subtract the start time and add the looping-offset time. + int64_t offset = + StartTime().ToMicroseconds() - mLoopingOffset.ToMicroseconds(); + aAudio->AdjustForStartTime(offset); + mLastAudioEndTime = aAudio->mTime; return AudioDataPromise::CreateAndResolve(aAudio.forget(), __func__); } @@ -73,6 +76,11 @@ ReaderProxy::OnAudioDataRequestFailed(const MediaResult& aError) return AudioDataPromise::CreateAndReject(aError, __func__); } + // The data time in the audio queue is assumed to be increased linearly, + // so we need to add the last ending time as the offset to correct the + // audio data time in the next round when seamless looping is enabled. + mLoopingOffset = mLastAudioEndTime; + // For seamless looping, the demuxer is sought to the beginning and then // keep requesting decoded data in advance, upon receiving EOS. // The MDSM will not be aware of the EOS and keep receiving decoded data @@ -80,7 +88,7 @@ ReaderProxy::OnAudioDataRequestFailed(const MediaResult& aError) RefPtr self = this; RefPtr reader = mReader; ResetDecode(TrackInfo::kAudioTrack); - return Seek(SeekTarget(media::TimeUnit::Zero(), SeekTarget::Accurate)) + return SeekInternal(SeekTarget(media::TimeUnit::Zero(), SeekTarget::Accurate)) ->Then(mReader->OwnerThread(), __func__, [reader]() { return reader->RequestAudioData(); }, @@ -149,6 +157,16 @@ ReaderProxy::Seek(const SeekTarget& aTarget) { MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); mSeamlessLoopingBlocked = true; + // Reset the members for seamless looping if the seek is triggered outside. + mLoopingOffset = media::TimeUnit::Zero(); + mLastAudioEndTime = media::TimeUnit::Zero(); + return SeekInternal(aTarget); +} + +RefPtr +ReaderProxy::SeekInternal(const SeekTarget& aTarget) +{ + MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); SeekTarget adjustedTarget = aTarget; adjustedTarget.SetTime(adjustedTarget.GetTime() + StartTime()); return InvokeAsync(mReader->OwnerThread(), diff --git a/dom/media/ReaderProxy.h b/dom/media/ReaderProxy.h index 1a656ffb398b..9bdbb466c588 100644 --- a/dom/media/ReaderProxy.h +++ b/dom/media/ReaderProxy.h @@ -91,6 +91,7 @@ private: RefPtr OnMetadataRead(MetadataHolder&& aMetadata); RefPtr OnMetadataNotRead(const MediaResult& aError); void UpdateDuration(); + RefPtr SeekInternal(const SeekTarget& aTarget); RefPtr OnAudioDataRequestCompleted( RefPtr aAudio); @@ -109,6 +110,11 @@ private: // Duration, mirrored from the state machine task queue. Mirror mDuration; + // The total duration of audio looping in previous rounds. + media::TimeUnit mLoopingOffset = media::TimeUnit::Zero(); + // To keep tracking the latest time of decoded audio data. + media::TimeUnit mLastAudioEndTime = media::TimeUnit::Zero(); + // To prevent seamless looping while seeking. bool mSeamlessLoopingBlocked; // Indicates whether we should loop the media. From 1a75cd91ef8483b10dd6efdcf90efadf78abeb83 Mon Sep 17 00:00:00 2001 From: Chun-Min Chang Date: Fri, 24 Nov 2017 10:28:42 +0800 Subject: [PATCH 20/77] Bug 654787 - part6: Correct the playback position while looping; r=jwwang MozReview-Commit-ID: 4h2zgtbVBVq --HG-- extra : rebase_source : 9a91cefd6f081cbdbae6b5ffc7035446f7192ff1 --- dom/media/MediaDecoderStateMachine.cpp | 12 ++++++++++-- dom/media/ReaderProxy.cpp | 17 +++++++++++++++++ dom/media/ReaderProxy.h | 4 ++++ dom/media/TimeUnits.h | 4 ++++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/dom/media/MediaDecoderStateMachine.cpp b/dom/media/MediaDecoderStateMachine.cpp index a8f99b0e13de..4c6891b72e53 100644 --- a/dom/media/MediaDecoderStateMachine.cpp +++ b/dom/media/MediaDecoderStateMachine.cpp @@ -1940,6 +1940,8 @@ public: if (!mSentPlaybackEndedEvent) { auto clockTime = std::max(mMaster->AudioEndTime(), mMaster->VideoEndTime()); + // Correct the time over the end once looping was turned on. + Reader()->AdjustByLooping(clockTime); if (mMaster->mDuration.Ref()->IsInfinite()) { // We have a finite duration when playback reaches the end. mMaster->mDuration = Some(clockTime); @@ -3473,7 +3475,13 @@ MediaDecoderStateMachine::UpdatePlaybackPositionPeriodically() // advance the clock to after the media end time. if (VideoEndTime() > TimeUnit::Zero() || AudioEndTime() > TimeUnit::Zero()) { - const auto clockTime = GetClock(); + auto clockTime = GetClock(); + + // Once looping was turned on, the time is probably larger than the duration + // of the media track, so the time over the end should be corrected. + mReader->AdjustByLooping(clockTime); + bool loopback = clockTime < GetMediaTime(); + // Skip frames up to the frame at the playback position, and figure out // the time remaining until it's time to display the next frame and drop // the current frame. @@ -3485,7 +3493,7 @@ MediaDecoderStateMachine::UpdatePlaybackPositionPeriodically() auto t = std::min(clockTime, maxEndTime); // FIXME: Bug 1091422 - chained ogg files hit this assertion. //MOZ_ASSERT(t >= GetMediaTime()); - if (t > GetMediaTime()) { + if (loopback || t > GetMediaTime()) { UpdatePlaybackPosition(t); } } diff --git a/dom/media/ReaderProxy.cpp b/dom/media/ReaderProxy.cpp index 21812eb5a856..c462ee426712 100644 --- a/dom/media/ReaderProxy.cpp +++ b/dom/media/ReaderProxy.cpp @@ -81,6 +81,11 @@ ReaderProxy::OnAudioDataRequestFailed(const MediaResult& aError) // audio data time in the next round when seamless looping is enabled. mLoopingOffset = mLastAudioEndTime; + // Save the duration of the audio track if it hasn't been set. + if (!mAudioDuration.IsValid()) { + mAudioDuration = mLastAudioEndTime; + } + // For seamless looping, the demuxer is sought to the beginning and then // keep requesting decoded data in advance, upon receiving EOS. // The MDSM will not be aware of the EOS and keep receiving decoded data @@ -160,6 +165,7 @@ ReaderProxy::Seek(const SeekTarget& aTarget) // Reset the members for seamless looping if the seek is triggered outside. mLoopingOffset = media::TimeUnit::Zero(); mLastAudioEndTime = media::TimeUnit::Zero(); + mAudioDuration = media::TimeUnit::Invalid(); return SeekInternal(aTarget); } @@ -290,4 +296,15 @@ ReaderProxy::SetSeamlessLoopingEnabled(bool aEnabled) mSeamlessLoopingEnabled = aEnabled; } +void +ReaderProxy::AdjustByLooping(media::TimeUnit& aTime) +{ + MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); + MOZ_ASSERT(!mShutdown); + MOZ_ASSERT(!mSeamlessLoopingEnabled || !mSeamlessLoopingBlocked); + if (mAudioDuration.IsValid() && mAudioDuration.IsPositive()) { + aTime = aTime % mAudioDuration.ToMicroseconds(); + } +} + } // namespace mozilla diff --git a/dom/media/ReaderProxy.h b/dom/media/ReaderProxy.h index 9bdbb466c588..921897fdca1c 100644 --- a/dom/media/ReaderProxy.h +++ b/dom/media/ReaderProxy.h @@ -86,6 +86,8 @@ public: void SetSeamlessLoopingEnabled(bool aEnabled); + void AdjustByLooping(media::TimeUnit& aTime); + private: ~ReaderProxy(); RefPtr OnMetadataRead(MetadataHolder&& aMetadata); @@ -114,6 +116,8 @@ private: media::TimeUnit mLoopingOffset = media::TimeUnit::Zero(); // To keep tracking the latest time of decoded audio data. media::TimeUnit mLastAudioEndTime = media::TimeUnit::Zero(); + // The duration of the audio track. + media::TimeUnit mAudioDuration = media::TimeUnit::Invalid(); // To prevent seamless looping while seeking. bool mSeamlessLoopingBlocked; diff --git a/dom/media/TimeUnits.h b/dom/media/TimeUnits.h index 595a9eb069a3..993f7dae0ce8 100644 --- a/dom/media/TimeUnits.h +++ b/dom/media/TimeUnits.h @@ -177,6 +177,10 @@ public: { return TimeUnit(aUnit.mValue / aVal); } + friend TimeUnit operator%(const TimeUnit& aUnit, int aVal) + { + return TimeUnit(aUnit.mValue % aVal); + } bool IsValid() const { return mValue.isValid(); } From f7ef7354b36af83a8778d4ff62ab76d8aea2a859 Mon Sep 17 00:00:00 2001 From: Chun-Min Chang Date: Tue, 21 Nov 2017 18:15:08 +0800 Subject: [PATCH 21/77] Bug 654787 - part7: Stop playing and decoding when looping is cancelled; r=jwwang MozReview-Commit-ID: BQKVsmDSqpJ --HG-- extra : rebase_source : 64377f37dd6d1fd2a7a550843ffc805688a4d488 --- dom/media/MediaDecoderStateMachine.cpp | 69 ++++++++++++++++++-------- 1 file changed, 47 insertions(+), 22 deletions(-) diff --git a/dom/media/MediaDecoderStateMachine.cpp b/dom/media/MediaDecoderStateMachine.cpp index 4c6891b72e53..1449beb5cbda 100644 --- a/dom/media/MediaDecoderStateMachine.cpp +++ b/dom/media/MediaDecoderStateMachine.cpp @@ -608,27 +608,7 @@ public: mOnVideoPopped.DisconnectIfExists(); } - void Step() override - { - if (mMaster->mPlayState != MediaDecoder::PLAY_STATE_PLAYING && - mMaster->IsPlaying()) { - // We're playing, but the element/decoder is in paused state. Stop - // playing! - mMaster->StopPlayback(); - } - - // Start playback if necessary so that the clock can be properly queried. - if (!mIsPrerolling) { - mMaster->MaybeStartPlayback(); - } - - mMaster->UpdatePlaybackPositionPeriodically(); - - MOZ_ASSERT(!mMaster->IsPlaying() || mMaster->IsStateMachineScheduled(), - "Must have timer scheduled"); - - MaybeStartBuffering(); - } + void Step() override; State GetState() const override { @@ -2311,6 +2291,51 @@ DecodingState::Enter() } } +void +MediaDecoderStateMachine:: +DecodingState::Step() +{ + if (mMaster->mPlayState != MediaDecoder::PLAY_STATE_PLAYING && + mMaster->IsPlaying()) { + // We're playing, but the element/decoder is in paused state. Stop + // playing! + mMaster->StopPlayback(); + } + + // Start playback if necessary so that the clock can be properly queried. + if (!mIsPrerolling) { + mMaster->MaybeStartPlayback(); + } + + TimeUnit before = mMaster->GetMediaTime(); + mMaster->UpdatePlaybackPositionPeriodically(); + + // After looping is cancelled, the time won't be corrected, and therefore we + // can check it to see if the end of the media track is reached. + TimeUnit adjusted = mMaster->GetClock(); + Reader()->AdjustByLooping(adjusted); + // Make sure the media is started before comparing the time, or it's + // meaningless. Without checking IsStarted(), the media will be terminated + // immediately after seeking forward. When the state is just transited from + // seeking state, GetClock() is smaller than GetMediaTime(), since + // GetMediaTime() is updated upon seek is completed while GetClock() will be + // updated after the media is started again. + if (mMaster->mMediaSink->IsStarted() && !mMaster->mLooping && + adjusted < before) { + mMaster->StopPlayback(); + mMaster->mAudioDataRequest.DisconnectIfExists(); + AudioQueue().Finish(); + mMaster->mAudioCompleted = true; + SetState(); + return; + } + + MOZ_ASSERT(!mMaster->IsPlaying() || mMaster->IsStateMachineScheduled(), + "Must have timer scheduled"); + + MaybeStartBuffering(); +} + void MediaDecoderStateMachine:: DecodingState::HandleEndOfAudio() @@ -3480,7 +3505,7 @@ MediaDecoderStateMachine::UpdatePlaybackPositionPeriodically() // Once looping was turned on, the time is probably larger than the duration // of the media track, so the time over the end should be corrected. mReader->AdjustByLooping(clockTime); - bool loopback = clockTime < GetMediaTime(); + bool loopback = clockTime < GetMediaTime() && mLooping; // Skip frames up to the frame at the playback position, and figure out // the time remaining until it's time to display the next frame and drop From 727fa182fd7ddbc896f33a3af0fa25c758485879 Mon Sep 17 00:00:00 2001 From: Chun-Min Chang Date: Tue, 21 Nov 2017 18:10:19 +0800 Subject: [PATCH 22/77] Bug 654787 - part8: Fire seeking and seeked events when looping back to the beginning; r=jwwang MozReview-Commit-ID: 2hYJfcCmvam --HG-- extra : rebase_source : 261299b07ff9eafe3354e46c96b1aafe9e841e2e --- dom/media/MediaDecoder.cpp | 4 +++ dom/media/MediaDecoderStateMachine.cpp | 40 +++++++++++++++----------- dom/media/MediaDecoderStateMachine.h | 1 + 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/dom/media/MediaDecoder.cpp b/dom/media/MediaDecoder.cpp index c8e112032906..ef49428431af 100644 --- a/dom/media/MediaDecoder.cpp +++ b/dom/media/MediaDecoder.cpp @@ -526,6 +526,10 @@ MediaDecoder::OnPlaybackEvent(MediaEventType aEvent) case MediaEventType::SeekStarted: SeekingStarted(); break; + case MediaEventType::Loop: + GetOwner()->DispatchAsyncEvent(NS_LITERAL_STRING("seeking")); + GetOwner()->DispatchAsyncEvent(NS_LITERAL_STRING("seeked")); + break; case MediaEventType::Invalidate: Invalidate(); break; diff --git a/dom/media/MediaDecoderStateMachine.cpp b/dom/media/MediaDecoderStateMachine.cpp index 1449beb5cbda..e090f3addd0c 100644 --- a/dom/media/MediaDecoderStateMachine.cpp +++ b/dom/media/MediaDecoderStateMachine.cpp @@ -2310,24 +2310,30 @@ DecodingState::Step() TimeUnit before = mMaster->GetMediaTime(); mMaster->UpdatePlaybackPositionPeriodically(); + // Fire the `seeking` and `seeked` events to meet the HTML spec + // when the media is looped back from the end to the beginning. + if (before > mMaster->GetMediaTime()) { + MOZ_ASSERT(mMaster->mLooping); + mMaster->mOnPlaybackEvent.Notify(MediaEventType::Loop); // After looping is cancelled, the time won't be corrected, and therefore we - // can check it to see if the end of the media track is reached. - TimeUnit adjusted = mMaster->GetClock(); - Reader()->AdjustByLooping(adjusted); - // Make sure the media is started before comparing the time, or it's - // meaningless. Without checking IsStarted(), the media will be terminated - // immediately after seeking forward. When the state is just transited from - // seeking state, GetClock() is smaller than GetMediaTime(), since - // GetMediaTime() is updated upon seek is completed while GetClock() will be - // updated after the media is started again. - if (mMaster->mMediaSink->IsStarted() && !mMaster->mLooping && - adjusted < before) { - mMaster->StopPlayback(); - mMaster->mAudioDataRequest.DisconnectIfExists(); - AudioQueue().Finish(); - mMaster->mAudioCompleted = true; - SetState(); - return; + // can check it to see if the end of the media track is reached. Make sure + // the media is started before comparing the time, or it's meaningless. + // Without checking IsStarted(), the media will be terminated immediately + // after seeking forward. When the state is just transited from seeking state, + // GetClock() is smaller than GetMediaTime(), since GetMediaTime() is updated + // upon seek is completed while GetClock() will be updated after the media is + // started again. + } else if (mMaster->mMediaSink->IsStarted() && !mMaster->mLooping) { + TimeUnit adjusted = mMaster->GetClock(); + Reader()->AdjustByLooping(adjusted); + if (adjusted < before) { + mMaster->StopPlayback(); + mMaster->mAudioDataRequest.DisconnectIfExists(); + AudioQueue().Finish(); + mMaster->mAudioCompleted = true; + SetState(); + return; + } } MOZ_ASSERT(!mMaster->IsPlaying() || mMaster->IsStateMachineScheduled(), diff --git a/dom/media/MediaDecoderStateMachine.h b/dom/media/MediaDecoderStateMachine.h index d65f6771d393..2877c2df5e88 100644 --- a/dom/media/MediaDecoderStateMachine.h +++ b/dom/media/MediaDecoderStateMachine.h @@ -120,6 +120,7 @@ enum class MediaEventType : int8_t PlaybackStopped, PlaybackEnded, SeekStarted, + Loop, Invalidate, EnterVideoSuspend, ExitVideoSuspend, From 1c2ea0c1108e710adb66bf7464f2b98812a5b363 Mon Sep 17 00:00:00 2001 From: James Cheng Date: Thu, 23 Nov 2017 16:47:13 +0800 Subject: [PATCH 23/77] Bug 1417297 - Part1 - Convert gmp-clearkey to use Chromium ContentDecryptionModule_9 interface. r=cpearce 1. Make ClearKeyCDM inherits cdm::ContentDecryptionModule_9 2. Pass cdm::Host_9 instance instead of cdm::Host8 3. Modify the manifest to 1.4.9 MozReview-Commit-ID: JbeBm5YNZ22 --HG-- extra : rebase_source : feb6aa44e361cb68f8a75284e79b1617609438a4 --- media/gmp-clearkey/0.1/ClearKeyCDM.cpp | 22 ++++++++++++++-- media/gmp-clearkey/0.1/ClearKeyCDM.h | 15 ++++++++--- .../gmp-clearkey/0.1/ClearKeyPersistence.cpp | 2 +- media/gmp-clearkey/0.1/ClearKeyPersistence.h | 4 +-- .../0.1/ClearKeySessionManager.cpp | 26 +++++++++---------- .../gmp-clearkey/0.1/ClearKeySessionManager.h | 4 +-- media/gmp-clearkey/0.1/ClearKeyStorage.cpp | 12 ++++----- media/gmp-clearkey/0.1/ClearKeyStorage.h | 4 +-- media/gmp-clearkey/0.1/VideoDecoder.cpp | 2 +- media/gmp-clearkey/0.1/VideoDecoder.h | 4 +-- media/gmp-clearkey/0.1/gmp-clearkey.cpp | 4 +-- media/gmp-clearkey/0.1/manifest.json.in | 4 +-- 12 files changed, 63 insertions(+), 40 deletions(-) diff --git a/media/gmp-clearkey/0.1/ClearKeyCDM.cpp b/media/gmp-clearkey/0.1/ClearKeyCDM.cpp index af9e9f01ed62..2636b1d3ea90 100644 --- a/media/gmp-clearkey/0.1/ClearKeyCDM.cpp +++ b/media/gmp-clearkey/0.1/ClearKeyCDM.cpp @@ -4,7 +4,7 @@ using namespace cdm; -ClearKeyCDM::ClearKeyCDM(Host_8* aHost) +ClearKeyCDM::ClearKeyCDM(Host_9* aHost) { mHost = aHost; mSessionManager = new ClearKeySessionManager(mHost); @@ -18,6 +18,15 @@ ClearKeyCDM::Initialize(bool aAllowDistinctiveIdentifier, aAllowPersistentState); } +void +ClearKeyCDM::GetStatusForPolicy(uint32_t aPromiseId, + const Policy& aPolicy) +{ + // MediaKeys::GetStatusForPolicy checks the keysystem and + // reject the promise with NS_ERROR_DOM_NOT_SUPPORTED_ERR without calling CDM. + // This function should never be called and is not supported. + assert(false); +} void ClearKeyCDM::SetServerCertificate(uint32_t aPromiseId, const uint8_t* aServerCertificateData, @@ -183,6 +192,15 @@ ClearKeyCDM::OnQueryOutputProtectionStatus(QueryResult aResult, assert(false); } +void +ClearKeyCDM::OnStorageId(uint32_t aVersion, + const uint8_t* aStorageId, + uint32_t aStorageIdSize) +{ + // This function should never be called and is not supported. + assert(false); +} + void ClearKeyCDM::Destroy() { @@ -194,4 +212,4 @@ ClearKeyCDM::Destroy() } #endif delete this; -} \ No newline at end of file +} diff --git a/media/gmp-clearkey/0.1/ClearKeyCDM.h b/media/gmp-clearkey/0.1/ClearKeyCDM.h index 69515b62eaa9..aae174b60fd1 100644 --- a/media/gmp-clearkey/0.1/ClearKeyCDM.h +++ b/media/gmp-clearkey/0.1/ClearKeyCDM.h @@ -13,7 +13,7 @@ #include "VideoDecoder.h" #endif -class ClearKeyCDM : public cdm::ContentDecryptionModule_8 +class ClearKeyCDM : public cdm::ContentDecryptionModule_9 { private: RefPtr mSessionManager; @@ -22,14 +22,17 @@ private: #endif protected: - cdm::Host_8* mHost; + cdm::Host_9* mHost; public: - explicit ClearKeyCDM(cdm::Host_8* mHost); + explicit ClearKeyCDM(cdm::Host_9* mHost); void Initialize(bool aAllowDistinctiveIdentifier, bool aAllowPersistentState) override; + void GetStatusForPolicy(uint32_t aPromiseId, + const cdm::Policy& aPolicy) override; + void SetServerCertificate(uint32_t aPromiseId, const uint8_t* aServerCertificateData, uint32_t aServerCertificateDataSize) @@ -92,7 +95,11 @@ public: uint32_t aLinkMask, uint32_t aOutputProtectionMask) override; + void OnStorageId(uint32_t aVersion, + const uint8_t* aStorageId, + uint32_t aStorageIdSize) override; + void Destroy() override; }; -#endif \ No newline at end of file +#endif diff --git a/media/gmp-clearkey/0.1/ClearKeyPersistence.cpp b/media/gmp-clearkey/0.1/ClearKeyPersistence.cpp index 1a2194162b62..fa9c6c4a35cb 100644 --- a/media/gmp-clearkey/0.1/ClearKeyPersistence.cpp +++ b/media/gmp-clearkey/0.1/ClearKeyPersistence.cpp @@ -101,7 +101,7 @@ ClearKeyPersistence::WriteIndex() { } -ClearKeyPersistence::ClearKeyPersistence(Host_8* aHost) +ClearKeyPersistence::ClearKeyPersistence(Host_9* aHost) { this->mHost = aHost; } diff --git a/media/gmp-clearkey/0.1/ClearKeyPersistence.h b/media/gmp-clearkey/0.1/ClearKeyPersistence.h index 0190b0f139c2..aca1553a8845 100644 --- a/media/gmp-clearkey/0.1/ClearKeyPersistence.h +++ b/media/gmp-clearkey/0.1/ClearKeyPersistence.h @@ -41,7 +41,7 @@ enum PersistentKeyState { class ClearKeyPersistence : public RefCounted { public: - explicit ClearKeyPersistence(cdm::Host_8* aHost); + explicit ClearKeyPersistence(cdm::Host_9* aHost); void EnsureInitialized(bool aPersistentStateAllowed, std::function&& aOnInitialized); @@ -54,7 +54,7 @@ public: void PersistentSessionRemoved(std::string& aSid); private: - cdm::Host_8* mHost = nullptr; + cdm::Host_9* mHost = nullptr; PersistentKeyState mPersistentKeyState = PersistentKeyState::UNINITIALIZED; diff --git a/media/gmp-clearkey/0.1/ClearKeySessionManager.cpp b/media/gmp-clearkey/0.1/ClearKeySessionManager.cpp index d3868d8abcbd..ce3949a2db42 100644 --- a/media/gmp-clearkey/0.1/ClearKeySessionManager.cpp +++ b/media/gmp-clearkey/0.1/ClearKeySessionManager.cpp @@ -33,7 +33,7 @@ using namespace std; using namespace cdm; -ClearKeySessionManager::ClearKeySessionManager(Host_8* aHost) +ClearKeySessionManager::ClearKeySessionManager(Host_9* aHost) : mDecryptionManager(ClearKeyDecryptionManager::Get()) { CK_LOGD("ClearKeySessionManager ctor %p", this); @@ -117,7 +117,7 @@ ClearKeySessionManager::CreateSession(uint32_t aPromiseId, string message = "initDataType is not supported by ClearKey"; mHost->OnRejectPromise(aPromiseId, - Error::kNotSupportedError, + Exception::kExceptionNotSupportedError, 0, message.c_str(), message.size()); @@ -137,7 +137,7 @@ ClearKeySessionManager::CreateSession(uint32_t aPromiseId, const static char* message = "Failed to initialize session"; mHost->OnRejectPromise(aPromiseId, - Error::kUnknownError, + Exception::kExceptionInvalidStateError, 0, message, strlen(message)); @@ -178,9 +178,7 @@ ClearKeySessionManager::CreateSession(uint32_t aPromiseId, sessionId.size(), MessageType::kLicenseRequest, request.c_str(), - request.size(), - nullptr, - 0); + request.size()); } void @@ -356,7 +354,7 @@ ClearKeySessionManager::UpdateSession(uint32_t aPromiseId, CK_LOGW("ClearKey CDM couldn't resolve session ID in UpdateSession."); CK_LOGD("Unable to find session: %s", sessionId.c_str()); mHost->OnRejectPromise(aPromiseId, - Error::kInvalidAccessError, + Exception::kExceptionTypeError, 0, nullptr, 0); @@ -371,7 +369,7 @@ ClearKeySessionManager::UpdateSession(uint32_t aPromiseId, CK_LOGD("Failed to parse response for session %s", sessionId.c_str()); mHost->OnRejectPromise(aPromiseId, - Error::kInvalidAccessError, + Exception::kExceptionTypeError, 0, nullptr, 0); @@ -388,7 +386,7 @@ ClearKeySessionManager::UpdateSession(uint32_t aPromiseId, CK_LOGW("ClearKey CDM failed to parse JSON Web Key."); mHost->OnRejectPromise(aPromiseId, - Error::kInvalidAccessError, + Exception::kExceptionTypeError, 0, nullptr, 0); @@ -442,7 +440,7 @@ ClearKeySessionManager::UpdateSession(uint32_t aPromiseId, static const char* message = "Couldn't store cenc key init data"; self->mHost->OnRejectPromise(aPromiseId, - Error::kInvalidStateError, + Exception::kExceptionInvalidStateError, 0, message, strlen(message)); @@ -503,7 +501,7 @@ ClearKeySessionManager::CloseSession(uint32_t aPromiseId, if (itr == mSessions.end()) { CK_LOGW("ClearKey CDM couldn't close non-existent session."); mHost->OnRejectPromise(aPromiseId, - Error::kInvalidAccessError, + Exception::kExceptionTypeError, 0, nullptr, 0); @@ -563,7 +561,7 @@ ClearKeySessionManager::RemoveSession(uint32_t aPromiseId, CK_LOGW("ClearKey CDM couldn't remove non-existent session."); mHost->OnRejectPromise(aPromiseId, - Error::kInvalidAccessError, + Exception::kExceptionTypeError, 0, nullptr, 0); @@ -601,7 +599,7 @@ ClearKeySessionManager::RemoveSession(uint32_t aPromiseId, } static const char* message = "Could not remove session"; self->mHost->OnRejectPromise(aPromiseId, - Error::kInvalidAccessError, + Exception::kExceptionTypeError, 0, message, strlen(message)); @@ -618,7 +616,7 @@ ClearKeySessionManager::SetServerCertificate(uint32_t aPromiseId, // ClearKey CDM doesn't support this method by spec. CK_LOGD("ClearKeySessionManager::SetServerCertificate"); mHost->OnRejectPromise(aPromiseId, - Error::kNotSupportedError, + Exception::kExceptionNotSupportedError, 0, nullptr /* message */, 0 /* messageLen */); diff --git a/media/gmp-clearkey/0.1/ClearKeySessionManager.h b/media/gmp-clearkey/0.1/ClearKeySessionManager.h index 7412c2414814..01dbc4bdcb9e 100644 --- a/media/gmp-clearkey/0.1/ClearKeySessionManager.h +++ b/media/gmp-clearkey/0.1/ClearKeySessionManager.h @@ -36,7 +36,7 @@ class ClearKeySessionManager final : public RefCounted { public: - explicit ClearKeySessionManager(cdm::Host_8* aHost); + explicit ClearKeySessionManager(cdm::Host_9* aHost); void Init(bool aDistinctiveIdentifierAllowed, bool aPersistentStateAllowed); @@ -91,7 +91,7 @@ private: RefPtr mDecryptionManager; RefPtr mPersistence; - cdm::Host_8* mHost = nullptr; + cdm::Host_9* mHost = nullptr; std::set mKeyIds; std::map mSessions; diff --git a/media/gmp-clearkey/0.1/ClearKeyStorage.cpp b/media/gmp-clearkey/0.1/ClearKeyStorage.cpp index 03727fd5fedd..48bd3f77b064 100644 --- a/media/gmp-clearkey/0.1/ClearKeyStorage.cpp +++ b/media/gmp-clearkey/0.1/ClearKeyStorage.cpp @@ -37,7 +37,7 @@ public: * This function will take the memory ownership of the parameters and * delete them when done. */ - static void Write(Host_8* aHost, + static void Write(Host_9* aHost, string& aRecordName, const vector& aData, function&& aOnSuccess, @@ -82,7 +82,7 @@ private: , mOnFailure(move(aOnFailure)) , mData(aData) {} - void Do(const string& aName, Host_8* aHost) + void Do(const string& aName, Host_9* aHost) { // Initialize the FileIO. mFileIO = aHost->CreateFileIO(this); @@ -118,7 +118,7 @@ private: }; void -WriteData(Host_8* aHost, +WriteData(Host_9* aHost, string& aRecordName, const vector& aData, function&& aOnSuccess, @@ -138,7 +138,7 @@ public: * This function will take the memory ownership of the parameters and * delete them when done. */ - static void Read(Host_8* aHost, + static void Read(Host_9* aHost, string& aRecordName, function&& aOnSuccess, function&& aOnFailure) @@ -179,7 +179,7 @@ private: , mOnFailure(move(aOnFailure)) {} - void Do(const string& aName, Host_8* aHost) + void Do(const string& aName, Host_9* aHost) { mFileIO = aHost->CreateFileIO(this); mFileIO->Open(aName.c_str(), aName.size()); @@ -214,7 +214,7 @@ private: }; void -ReadData(Host_8* mHost, +ReadData(Host_9* mHost, string& aRecordName, function&& aOnSuccess, function&& aOnFailure) diff --git a/media/gmp-clearkey/0.1/ClearKeyStorage.h b/media/gmp-clearkey/0.1/ClearKeyStorage.h index 2844e4be7797..6d0c2e2e00c8 100644 --- a/media/gmp-clearkey/0.1/ClearKeyStorage.h +++ b/media/gmp-clearkey/0.1/ClearKeyStorage.h @@ -28,14 +28,14 @@ #define IO_FAILED(x) ((x) != cdm::FileIOClient::Status::kSuccess) // Writes data to a file and fires the appropriate callback when complete. -void WriteData(cdm::Host_8* aHost, +void WriteData(cdm::Host_9* aHost, std::string& aRecordName, const std::vector& aData, std::function&& aOnSuccess, std::function&& aOnFailure); // Reads data from a file and fires the appropriate callback when complete. -void ReadData(cdm::Host_8* aHost, +void ReadData(cdm::Host_9* aHost, std::string& aRecordName, std::function&& aOnSuccess, std::function&& aOnFailure); diff --git a/media/gmp-clearkey/0.1/VideoDecoder.cpp b/media/gmp-clearkey/0.1/VideoDecoder.cpp index c44e76b232b0..e2cdb087367d 100644 --- a/media/gmp-clearkey/0.1/VideoDecoder.cpp +++ b/media/gmp-clearkey/0.1/VideoDecoder.cpp @@ -27,7 +27,7 @@ using namespace wmf; using namespace cdm; -VideoDecoder::VideoDecoder(Host_8 *aHost) +VideoDecoder::VideoDecoder(Host_9 *aHost) : mHost(aHost) , mHasShutdown(false) { diff --git a/media/gmp-clearkey/0.1/VideoDecoder.h b/media/gmp-clearkey/0.1/VideoDecoder.h index 9d3a18faed60..e58834542804 100644 --- a/media/gmp-clearkey/0.1/VideoDecoder.h +++ b/media/gmp-clearkey/0.1/VideoDecoder.h @@ -30,7 +30,7 @@ class VideoDecoder : public RefCounted { public: - explicit VideoDecoder(cdm::Host_8 *aHost); + explicit VideoDecoder(cdm::Host_9 *aHost); cdm::Status InitDecode(const cdm::VideoDecoderConfig& aConfig); @@ -64,7 +64,7 @@ private: int32_t aFrameHeight, cdm::VideoFrame* aVideoFrame); - cdm::Host_8* mHost; + cdm::Host_9* mHost; wmf::AutoPtr mDecoder; std::queue> mOutputQueue; diff --git a/media/gmp-clearkey/0.1/gmp-clearkey.cpp b/media/gmp-clearkey/0.1/gmp-clearkey.cpp index 6285f2a7a493..97857b506ba4 100644 --- a/media/gmp-clearkey/0.1/gmp-clearkey.cpp +++ b/media/gmp-clearkey/0.1/gmp-clearkey.cpp @@ -56,7 +56,7 @@ void* CreateCdmInstance(int cdm_interface_version, CK_LOGE("ClearKey CreateCDMInstance"); - if (cdm_interface_version != cdm::ContentDecryptionModule_8::kVersion) { + if (cdm_interface_version != cdm::ContentDecryptionModule_9::kVersion) { CK_LOGE("ClearKey CreateCDMInstance failed due to requesting unsupported version %d.", cdm_interface_version); return nullptr; @@ -75,7 +75,7 @@ void* CreateCdmInstance(int cdm_interface_version, } #endif - cdm::Host_8* host = static_cast( + cdm::Host_9* host = static_cast( get_cdm_host_func(cdm_interface_version, user_data)); ClearKeyCDM* clearKey = new ClearKeyCDM(host); diff --git a/media/gmp-clearkey/0.1/manifest.json.in b/media/gmp-clearkey/0.1/manifest.json.in index 4e1dbb51cb7b..3393f6e1b770 100644 --- a/media/gmp-clearkey/0.1/manifest.json.in +++ b/media/gmp-clearkey/0.1/manifest.json.in @@ -3,8 +3,8 @@ "description": "ClearKey Gecko Media Plugin", "version": "1", "x-cdm-module-versions": "4", - "x-cdm-interface-versions": "8", - "x-cdm-host-versions": "8", + "x-cdm-interface-versions": "9", + "x-cdm-host-versions": "9", #ifdef ENABLE_WMF "x-cdm-codecs": "avc1" #else From fa5a14b81f12e098e50689fb7298752a8cd7b976 Mon Sep 17 00:00:00 2001 From: James Cheng Date: Thu, 23 Nov 2017 16:51:23 +0800 Subject: [PATCH 24/77] Bug 1417297 - Part2 - Convert fake-cdm to use Chromium ContentDecryptionModule_9 interface. r=cpearce MozReview-Commit-ID: L0sF2lO3lDX --HG-- extra : rebase_source : e8caab5f4c0c485ee47cd342962b47cfa01a9b6e --- dom/media/fake-cdm/cdm-fake.cpp | 6 +++--- dom/media/fake-cdm/cdm-test-decryptor.cpp | 6 ++---- dom/media/fake-cdm/cdm-test-decryptor.h | 17 ++++++++++++++--- dom/media/fake-cdm/cdm-test-storage.cpp | 14 +++++++------- dom/media/fake-cdm/cdm-test-storage.h | 8 ++++---- dom/media/fake-cdm/manifest.json | 4 ++-- 6 files changed, 32 insertions(+), 23 deletions(-) diff --git a/dom/media/fake-cdm/cdm-fake.cpp b/dom/media/fake-cdm/cdm-fake.cpp index e74c86074cfd..e975f1718beb 100644 --- a/dom/media/fake-cdm/cdm-fake.cpp +++ b/dom/media/fake-cdm/cdm-fake.cpp @@ -52,11 +52,11 @@ void* CreateCdmInstance(int cdm_interface_version, GetCdmHostFunc get_cdm_host_func, void* user_data) { - if (cdm_interface_version != cdm::ContentDecryptionModule_8::kVersion) { - // Only support CDM version 8 currently. + if (cdm_interface_version != cdm::ContentDecryptionModule_9::kVersion) { + // Only support CDM version 9 currently. return nullptr; } - cdm::Host_8* host = static_cast( + cdm::Host_9* host = static_cast( get_cdm_host_func(cdm_interface_version, user_data)); return new FakeDecryptor(host); } diff --git a/dom/media/fake-cdm/cdm-test-decryptor.cpp b/dom/media/fake-cdm/cdm-test-decryptor.cpp index a295db2ff4a1..b621b67c51a0 100644 --- a/dom/media/fake-cdm/cdm-test-decryptor.cpp +++ b/dom/media/fake-cdm/cdm-test-decryptor.cpp @@ -76,7 +76,7 @@ private: set mTestIDs; }; -FakeDecryptor::FakeDecryptor(cdm::Host_8* aHost) +FakeDecryptor::FakeDecryptor(cdm::Host_9* aHost) : mHost(aHost) { MOZ_ASSERT(!sInstance); @@ -92,9 +92,7 @@ FakeDecryptor::Message(const std::string& aMessage) sid.size(), cdm::MessageType::kLicenseRequest, aMessage.c_str(), - aMessage.size(), - nullptr, - 0); + aMessage.size()); } std::vector diff --git a/dom/media/fake-cdm/cdm-test-decryptor.h b/dom/media/fake-cdm/cdm-test-decryptor.h index 01c6c4b2a0cc..80d3612bc04b 100644 --- a/dom/media/fake-cdm/cdm-test-decryptor.h +++ b/dom/media/fake-cdm/cdm-test-decryptor.h @@ -10,15 +10,20 @@ #include #include "mozilla/Attributes.h" -class FakeDecryptor : public cdm::ContentDecryptionModule_8 { +class FakeDecryptor : public cdm::ContentDecryptionModule_9 { public: - explicit FakeDecryptor(cdm::Host_8* aHost); + explicit FakeDecryptor(cdm::Host_9* aHost); void Initialize(bool aAllowDistinctiveIdentifier, bool aAllowPersistentState) override { } + void GetStatusForPolicy(uint32_t aPromiseId, + const cdm::Policy& aPolicy) override + { + } + void SetServerCertificate(uint32_t aPromiseId, const uint8_t* aServerCertificateData, uint32_t aServerCertificateDataSize) @@ -115,6 +120,12 @@ public: { } + void OnStorageId(uint32_t aVersion, + const uint8_t* aStorageId, + uint32_t aStorageIdSize) override + { + } + void Destroy() override { delete this; @@ -123,7 +134,7 @@ public: static void Message(const std::string& aMessage); - cdm::Host_8* mHost; + cdm::Host_9* mHost; static FakeDecryptor* sInstance; diff --git a/dom/media/fake-cdm/cdm-test-storage.cpp b/dom/media/fake-cdm/cdm-test-storage.cpp index 93a0512c0b42..9609ee99f683 100644 --- a/dom/media/fake-cdm/cdm-test-storage.cpp +++ b/dom/media/fake-cdm/cdm-test-storage.cpp @@ -46,7 +46,7 @@ public: Done(aStatus); } - void Do(const string& aName, Host_8* aHost) + void Do(const string& aName, Host_9* aHost) { // Initialize the FileIO. mFileIO = aHost->CreateFileIO(this); @@ -82,7 +82,7 @@ private: }; void -WriteRecord(Host_8* aHost, +WriteRecord(Host_9* aHost, const std::string& aRecordName, const uint8_t* aData, uint32_t aNumBytes, @@ -98,7 +98,7 @@ WriteRecord(Host_8* aHost, } void -WriteRecord(Host_8* aHost, +WriteRecord(Host_9* aHost, const std::string& aRecordName, const std::string& aData, function &&aOnSuccess, @@ -141,7 +141,7 @@ public: { } - void Do(const string& aName, Host_8* aHost) + void Do(const string& aName, Host_9* aHost) { mFileIO = aHost->CreateFileIO(this); mFileIO->Open(aName.c_str(), aName.size()); @@ -176,7 +176,7 @@ private: }; void -ReadRecord(Host_8* aHost, +ReadRecord(Host_9* aHost, const std::string& aRecordName, function&& aOnReadComplete) { @@ -208,7 +208,7 @@ public: { } - void Do(const string& aName, Host_8* aHost) + void Do(const string& aName, Host_9* aHost) { // Initialize the FileIO. mFileIO = aHost->CreateFileIO(this); @@ -242,7 +242,7 @@ private: }; void -OpenRecord(Host_8* aHost, +OpenRecord(Host_9* aHost, const std::string& aRecordName, function&& aOpenComplete) { diff --git a/dom/media/fake-cdm/cdm-test-storage.h b/dom/media/fake-cdm/cdm-test-storage.h index b34189139256..d83f8518ba9d 100644 --- a/dom/media/fake-cdm/cdm-test-storage.h +++ b/dom/media/fake-cdm/cdm-test-storage.h @@ -25,20 +25,20 @@ public: uint32_t aDataSize) = 0; }; -void WriteRecord(cdm::Host_8* aHost, +void WriteRecord(cdm::Host_9* aHost, const std::string& aRecordName, const std::string& aData, std::function&& aOnSuccess, std::function&& aOnFailure); -void WriteRecord(cdm::Host_8* aHost, +void WriteRecord(cdm::Host_9* aHost, const std::string& aRecordName, const uint8_t* aData, uint32_t aNumBytes, std::function&& aOnSuccess, std::function&& aOnFailure); -void ReadRecord(cdm::Host_8* aHost, +void ReadRecord(cdm::Host_9* aHost, const std::string& aRecordName, std::function&& aOnReadComplete); @@ -48,7 +48,7 @@ public: virtual void operator()(bool aSuccess) = 0; }; -void OpenRecord(cdm::Host_8* aHost, +void OpenRecord(cdm::Host_9* aHost, const std::string& aRecordName, std::function&& aOpenComplete); #endif // TEST_CDM_STORAGE_H__ diff --git a/dom/media/fake-cdm/manifest.json b/dom/media/fake-cdm/manifest.json index 1c3218bbfdcb..32a145784f05 100644 --- a/dom/media/fake-cdm/manifest.json +++ b/dom/media/fake-cdm/manifest.json @@ -3,7 +3,7 @@ "description": "Fake CDM Plugin", "version": "1", "x-cdm-module-versions": "4", - "x-cdm-interface-versions": "8", - "x-cdm-host-versions": "8", + "x-cdm-interface-versions": "9", + "x-cdm-host-versions": "9", "x-cdm-codecs": "" } \ No newline at end of file From 62e836ef58d4b6828bd4270ecbfda0c07f4db8f8 Mon Sep 17 00:00:00 2001 From: Alastor Wu Date: Mon, 27 Nov 2017 10:55:02 +0800 Subject: [PATCH 25/77] Bug 1420192 - when disable autoplay, allow script calls play() once user triggered load() or seek(). r=jwwang This patch is mainly reverting the changing of bug1382574 part3, but not all the same. Since youtube would call load() when user clicks to play, and then call play() later. For the old pref (checking user-input-play), we should still allow the following play() even it's not triggered via user input. It's also same for seeking, Youtube would call play() after seeking completed. In this patch, we would allow the script-calling once play() if user has called load() or seek() before that. MozReview-Commit-ID: 1UcxRCVfhnR --HG-- extra : rebase_source : c72212ebf29ea624128a8190dab67e1197f1f198 --- dom/html/HTMLMediaElement.cpp | 12 ++++++++++++ dom/html/HTMLMediaElement.h | 11 +++++++++++ dom/media/AutoplayPolicy.cpp | 5 ++++- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp index e03f82092ec7..c25359536eb2 100644 --- a/dom/html/HTMLMediaElement.cpp +++ b/dom/html/HTMLMediaElement.cpp @@ -1979,7 +1979,12 @@ void HTMLMediaElement::DoLoad() return; } + // Detect if user has interacted with element so that play will not be + // blocked when initiated by a script. This enables sites to capture user + // intent to play by calling load() in the click handler of a "catalog + // view" of a gallery of videos. if (EventStateManager::IsHandlingUserInput()) { + mHasUserInteractedLoadOrSeek = true; // Mark the channel as urgent-start when autopaly so that it will play the // media from src after loading enough resource. if (HasAttr(kNameSpaceID_None, nsGkAtoms::autoplay)) { @@ -2749,6 +2754,12 @@ HTMLMediaElement::Seek(double aTime, return nullptr; } + // Detect if user has interacted with element by seeking so that + // play will not be blocked when initiated by a script. + if (EventStateManager::IsHandlingUserInput()) { + mHasUserInteractedLoadOrSeek = true; + } + StopSuspendingAfterFirstFrame(); if (mSrcStream) { @@ -4032,6 +4043,7 @@ HTMLMediaElement::HTMLMediaElement(already_AddRefed& aNo mIsEncrypted(false), mWaitingForKey(NOT_WAITING_FOR_KEY), mDisableVideo(false), + mHasUserInteractedLoadOrSeek(false), mFirstFrameLoaded(false), mDefaultPlaybackStartPosition(0.0), mHasSuspendTaint(false), diff --git a/dom/html/HTMLMediaElement.h b/dom/html/HTMLMediaElement.h index 89555fb19ad9..ee52bf051dfa 100644 --- a/dom/html/HTMLMediaElement.h +++ b/dom/html/HTMLMediaElement.h @@ -741,6 +741,13 @@ public: void NotifyCueDisplayStatesChanged(); + bool GetAndClearHasUserInteractedLoadOrSeek() + { + bool result = mHasUserInteractedLoadOrSeek; + mHasUserInteractedLoadOrSeek = false; + return result; + } + // A method to check whether we are currently playing. bool IsCurrentlyPlaying() const; @@ -1778,6 +1785,10 @@ private: // Total time a video has (or would have) spent in video-decode-suspend mode. TimeDurationAccumulator mVideoDecodeSuspendTime; + // True if user has called load() or seek() via user input. + // It's *only* use for checking autoplay policy + bool mHasUserInteractedLoadOrSeek; + // True if the first frame has been successfully loaded. bool mFirstFrameLoaded; diff --git a/dom/media/AutoplayPolicy.cpp b/dom/media/AutoplayPolicy.cpp index be66daee6f1e..ca882e42b204 100644 --- a/dom/media/AutoplayPolicy.cpp +++ b/dom/media/AutoplayPolicy.cpp @@ -38,7 +38,10 @@ AutoplayPolicy::IsMediaElementAllowedToPlay(NotNull aElement) // TODO : this old way would be removed when user-gestures-needed becomes // as a default option to block autoplay. - return EventStateManager::IsHandlingUserInput(); + // If user triggers load() or seek() before play(), we would also allow the + // following play(). + return aElement->GetAndClearHasUserInteractedLoadOrSeek() || + EventStateManager::IsHandlingUserInput(); } } // namespace dom From c3103719c2e8eab40ed5fda1bfbd068752d4b085 Mon Sep 17 00:00:00 2001 From: James Cheng Date: Mon, 13 Nov 2017 08:24:00 +0000 Subject: [PATCH 26/77] Bug 1416667 - Use MOZ_CRASH_UNSAFE_PRINTF in GMPChild::ProcessingError r=cpearce We passed the crash reason to GMPChild::ProcessingError but we didn't use it anymore. We can simply use MOZ_CRASH_UNSAFE_PRINTF instead of MOZ_CRASH to make the crash more descriptive. MozReview-Commit-ID: D7mU3Dsg9V9 --HG-- extra : rebase_source : 467974fbcc81792850b6c4b1a6faa3e90cfabb41 --- dom/media/gmp/GMPChild.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/dom/media/gmp/GMPChild.cpp b/dom/media/gmp/GMPChild.cpp index 60a1a7313d58..430d7de806ed 100644 --- a/dom/media/gmp/GMPChild.cpp +++ b/dom/media/gmp/GMPChild.cpp @@ -623,21 +623,25 @@ GMPChild::ActorDestroy(ActorDestroyReason aWhy) void GMPChild::ProcessingError(Result aCode, const char* aReason) { + if (!aReason) { + aReason = ""; + } + switch (aCode) { case MsgDropped: _exit(0); // Don't trigger a crash report. case MsgNotKnown: - MOZ_CRASH("aborting because of MsgNotKnown"); + MOZ_CRASH_UNSAFE_PRINTF("aborting because of MsgNotKnown, reason(%s)", aReason); case MsgNotAllowed: - MOZ_CRASH("aborting because of MsgNotAllowed"); + MOZ_CRASH_UNSAFE_PRINTF("aborting because of MsgNotAllowed, reason(%s)", aReason); case MsgPayloadError: - MOZ_CRASH("aborting because of MsgPayloadError"); + MOZ_CRASH_UNSAFE_PRINTF("aborting because of MsgPayloadError, reason(%s)", aReason); case MsgProcessingError: - MOZ_CRASH("aborting because of MsgProcessingError"); + MOZ_CRASH_UNSAFE_PRINTF("aborting because of MsgProcessingError, reason(%s)", aReason); case MsgRouteError: - MOZ_CRASH("aborting because of MsgRouteError"); + MOZ_CRASH_UNSAFE_PRINTF("aborting because of MsgRouteError, reason(%s)", aReason); case MsgValueError: - MOZ_CRASH("aborting because of MsgValueError"); + MOZ_CRASH_UNSAFE_PRINTF("aborting because of MsgValueError, reason(%s)", aReason); default: MOZ_CRASH("not reached"); } From a6426a74c0924cd45a8d4cab34e5d4570db58bc7 Mon Sep 17 00:00:00 2001 From: James Cheng Date: Mon, 13 Nov 2017 09:35:03 +0000 Subject: [PATCH 27/77] Bug 1416686 - Reduce the uses of IPC_FAIL_NO_REASON in GMPChild.cpp. r=cpearce,dmajor Originally, we use IPC_FAIL_NO_REASON to make IPC call return error and then it invokes MOZ_CRASH to kill the process itself. By using IPC_FAIL, we can pass a descriptive reason to GMPChild::ProcessingError and Bug 1416667 will use MOZ_CRASH_UNSAFE_PRINTF to print the reason to the crash report. In addition, we use CrashReporter::AnnotateCrashReport to record the lib path without exposing the data publicly. MozReview-Commit-ID: 15n1PItLgAp --HG-- extra : rebase_source : 011f02155b290f95fcde807264f3e1ffb9a09e80 --- dom/media/gmp/GMPChild.cpp | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/dom/media/gmp/GMPChild.cpp b/dom/media/gmp/GMPChild.cpp index 430d7de806ed..1ba367f848ae 100644 --- a/dom/media/gmp/GMPChild.cpp +++ b/dom/media/gmp/GMPChild.cpp @@ -11,6 +11,7 @@ #include "GMPVideoEncoderChild.h" #include "GMPVideoHost.h" #include "nsDebugImpl.h" +#include "nsExceptionHandler.h" #include "nsIFile.h" #include "nsXULAppAPI.h" #include "gmp-video-decode.h" @@ -545,7 +546,19 @@ GMPChild::AnswerStartPlugin(const nsString& aAdapter) nsCString libPath; if (!GetUTF8LibPath(libPath)) { - return IPC_FAIL_NO_REASON(this); + CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("GMPLibraryPath"), + NS_ConvertUTF16toUTF8(mPluginPath)); + +#ifdef XP_WIN + return IPC_FAIL( + this, + nsPrintfCString("Failed to get lib path with error(%d).", GetLastError()) + .get()); +#else + return IPC_FAIL( + this, + "Failed to get lib path."); +#endif } auto platformAPI = new GMPPlatformAPI(); @@ -556,7 +569,7 @@ GMPChild::AnswerStartPlugin(const nsString& aAdapter) if (!mGMPLoader->CanSandbox()) { LOGD("%s Can't sandbox GMP, failing", __FUNCTION__); delete platformAPI; - return IPC_FAIL_NO_REASON(this); + return IPC_FAIL(this, "Can't sandbox GMP."); } #endif bool isChromium = aAdapter.EqualsLiteral("chromium"); @@ -568,7 +581,10 @@ GMPChild::AnswerStartPlugin(const nsString& aAdapter) if (!SetMacSandboxInfo(pluginType)) { NS_WARNING("Failed to set Mac GMP sandbox info"); delete platformAPI; - return IPC_FAIL_NO_REASON(this); + return IPC_FAIL( + this, + nsPrintfCString("Failed to set Mac GMP sandbox info with plugin type %d.", + pluginType).get()); } #endif @@ -585,7 +601,19 @@ GMPChild::AnswerStartPlugin(const nsString& aAdapter) adapter)) { NS_WARNING("Failed to load GMP"); delete platformAPI; - return IPC_FAIL_NO_REASON(this); + CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("GMPLibraryPath"), + NS_ConvertUTF16toUTF8(mPluginPath)); + +#ifdef XP_WIN + return IPC_FAIL( + this, + nsPrintfCString("Failed to load GMP with error(%d).", GetLastError()) + .get()); +#else + return IPC_FAIL( + this, + "Failed to load GMP."); +#endif } return IPC_OK(); From b44b5ae893b7884d951cac4a13965b889663c1b3 Mon Sep 17 00:00:00 2001 From: Jeremy Chen Date: Sun, 26 Nov 2017 21:49:41 +0800 Subject: [PATCH 28/77] Bug 1418433 - add a test for style data update mechanism for non-displayed elements. r=heycam In certain situations, we might access a non-displayed (i.e., display: none;) element's style data through getComputedStyle API. In this patch, we add a test to ensure that, if the inline style sheet is changed/modified, the style data of a non-displayed element is always up-to-date. MozReview-Commit-ID: Ggjd4FMqZlo --HG-- extra : rebase_source : 8e9ba5d6b7b4c26b5247b36d44ff02a391dc7ee6 --- layout/style/test/test_computed_style.html | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/layout/style/test/test_computed_style.html b/layout/style/test/test_computed_style.html index b1d37df75ce0..37f0aa3c733c 100644 --- a/layout/style/test/test_computed_style.html +++ b/layout/style/test/test_computed_style.html @@ -4,12 +4,12 @@ Test for miscellaneous computed style issues + Mozilla Bug

 
 
From 52cf386fc1becd47c3f1a64cfebfb9bd61ac1ee4 Mon Sep 17 00:00:00 2001 From: Jeremy Chen Date: Sun, 26 Nov 2017 11:47:27 +0800 Subject: [PATCH 29/77] Bug 1418433 - increment RestyleGeneration for undisplayed elements when updating servo stylist. r=heycam In the current implementation, we call SetStylistStyleSheetsDirty() every time a style sheet is changed. However, the dirty bit setting may or may not always update the style data. For example, the style data for undisplayed elements are deliberately not updated in Stylo. However, the getComputedStyle API is supposed to provide a way to get the up-to-date computed style data, even for undisplayed elements. In this patch, we increment RestyleGeneration for undisplayed elements when we decide to update style data (i.e., calling ServoStyleSet::UpdateStylist()) due to (XBL)StyleSheet is dirty. This could flush the cached data that getComputedStyle API holds, and ensures the getComputedStyle API computes a new one. MozReview-Commit-ID: JDDhACOG3z4 --HG-- extra : rebase_source : 51d37757b5449d315aa7c2e0aedb4a4622e2a859 --- layout/style/ServoStyleSet.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/layout/style/ServoStyleSet.cpp b/layout/style/ServoStyleSet.cpp index 3993d06e4026..2db96d969c94 100644 --- a/layout/style/ServoStyleSet.cpp +++ b/layout/style/ServoStyleSet.cpp @@ -1330,6 +1330,11 @@ ServoStyleSet::UpdateStylist() mBindingManager->UpdateBoundContentBindingsForServo(mPresContext); } + // We need to invalidate cached style in getComputedStyle for undisplayed + // elements, since we don't know if any of the style sheet change that we + // do would affect undisplayed elements. + mPresContext->RestyleManager()->AsServo()->IncrementUndisplayedRestyleGeneration(); + mStylistState = StylistState::NotDirty; } From 4937b30bdd727f18b1fa1f2e38ebd520ae024584 Mon Sep 17 00:00:00 2001 From: Hiroyuki Ikezoe Date: Mon, 27 Nov 2017 06:20:06 +0900 Subject: [PATCH 30/77] Bug 1413370 - Skip the test case that checks transform animation on scrolled-out element is unthrottled periodically on Android. r=boris It causes intermittent failure. MozReview-Commit-ID: HDitQV4Yn3P --HG-- extra : rebase_source : f3a874df1575f903bac3331c9e5cd3454f1f187b --- dom/animation/test/mozilla/file_restyles.html | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dom/animation/test/mozilla/file_restyles.html b/dom/animation/test/mozilla/file_restyles.html index 65595dd8d939..ddb8bb5e8d66 100644 --- a/dom/animation/test/mozilla/file_restyles.html +++ b/dom/animation/test/mozilla/file_restyles.html @@ -306,6 +306,14 @@ waitForAllPaints(() => { return; } + // Skip this test on Android since this test have been failing + // intermittently. + // Bug 1413817: We should audit this test still fails once we have the + // conformant Promise micro task. + if (isAndroid) { + return; + } + await SpecialPowers.pushPrefEnv({ set: [["ui.showHideScrollbars", 1]] }); var parentElement = addDiv(null, From 106e48863441994ee69a3b3d1519d43f4f6da11f Mon Sep 17 00:00:00 2001 From: JW Wang Date: Mon, 20 Nov 2017 16:00:22 +0800 Subject: [PATCH 31/77] Bug 1418918. P1 - remove unused FlushPartialBlock(). r=bechen,gerald MozReview-Commit-ID: GSda1KfPWXE --HG-- extra : rebase_source : 8bb0b962e6fec586dd68587d6e43b542d37f6a2d extra : intermediate-source : d58472fa128100ed3bbc8e07d4e72ac7cc5bfe09 extra : source : e3925d43d873e20ad95a48550f271b832f852b7d --- dom/media/MediaCache.cpp | 16 ---------------- dom/media/MediaCache.h | 6 +----- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/dom/media/MediaCache.cpp b/dom/media/MediaCache.cpp index b0fd5476bc6b..341b95145b6c 100644 --- a/dom/media/MediaCache.cpp +++ b/dom/media/MediaCache.cpp @@ -2133,22 +2133,6 @@ MediaCacheStream::FlushPartialBlockInternal(bool aNotifyAll, } } -void -MediaCacheStream::FlushPartialBlock() -{ - NS_ASSERTION(NS_IsMainThread(), "Only call on main thread"); - - ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); - - // Write the current partial block to memory. - // Note: This writes a full block, so if data is not at the end of the - // stream, the decoder must subsequently choose correct start and end offsets - // for reading/seeking. - FlushPartialBlockInternal(false, mon); - - mMediaCache->QueueUpdate(); -} - void MediaCacheStream::NotifyDataEndedInternal(uint32_t aLoadID, nsresult aStatus, diff --git a/dom/media/MediaCache.h b/dom/media/MediaCache.h index 4eb253a21970..9a2e7f055118 100644 --- a/dom/media/MediaCache.h +++ b/dom/media/MediaCache.h @@ -269,9 +269,6 @@ public: void NotifyDataReceived(uint32_t aLoadID, uint32_t aCount, const uint8_t* aData); - // Notifies the cache that the current bytes should be written to disk. - // Called on the main thread. - void FlushPartialBlock(); // Set the load ID so the following NotifyDataEnded() call can work properly. // Used in some rare cases where NotifyDataEnded() is called without the @@ -448,8 +445,7 @@ private: // This method assumes that the cache monitor is held and can be called on // any thread. int64_t GetNextCachedDataInternal(int64_t aOffset); - // Writes |mPartialBlock| to disk. - // Used by |NotifyDataEnded| and |FlushPartialBlock|. + // Used by |NotifyDataEnded| to write |mPartialBlock| to disk. // If |aNotifyAll| is true, this function will wake up readers who may be // waiting on the media cache monitor. Called on the main thread only. void FlushPartialBlockInternal(bool aNotify, ReentrantMonitorAutoEnter& aReentrantMonitor); From eb912e4057091a76dbfc2030d67019971fb2e077 Mon Sep 17 00:00:00 2001 From: JW Wang Date: Mon, 20 Nov 2017 16:30:05 +0800 Subject: [PATCH 32/77] Bug 1418918. P2 - add thread/monitor assertions. r=bechen,gerald MozReview-Commit-ID: 3J8pRFnpm77 --HG-- extra : rebase_source : 722b2f5df7d2b6f95d806b334a9382f80ac4ea07 extra : intermediate-source : cb6319d0c879e9d57a46ff261bb9e1d5a16e2ad9 extra : source : 5b99626480b1c190f03a61635b7a2174b38c87b1 --- dom/media/MediaCache.cpp | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/dom/media/MediaCache.cpp b/dom/media/MediaCache.cpp index 341b95145b6c..e14ecc091c83 100644 --- a/dom/media/MediaCache.cpp +++ b/dom/media/MediaCache.cpp @@ -833,6 +833,7 @@ MediaCache::FindBlockForIncomingData(TimeStamp aNow, MediaCacheStream* aStream, int32_t aStreamBlockIndex) { + MOZ_ASSERT(sThread->IsOnCurrentThread()); mReentrantMonitor.AssertCurrentThreadIn(); int32_t blockIndex = @@ -863,6 +864,8 @@ MediaCache::FindBlockForIncomingData(TimeStamp aNow, bool MediaCache::BlockIsReusable(int32_t aBlockIndex) { + mReentrantMonitor.AssertCurrentThreadIn(); + Block* block = &mIndex[aBlockIndex]; for (uint32_t i = 0; i < block->mOwners.Length(); ++i) { MediaCacheStream* stream = block->mOwners[i].mStream; @@ -904,6 +907,7 @@ MediaCache::FindReusableBlock(TimeStamp aNow, int32_t aForStreamBlock, int32_t aMaxSearchBlockIndex) { + MOZ_ASSERT(sThread->IsOnCurrentThread()); mReentrantMonitor.AssertCurrentThreadIn(); uint32_t length = std::min(uint32_t(aMaxSearchBlockIndex), uint32_t(mIndex.Length())); @@ -968,6 +972,8 @@ MediaCache::FindReusableBlock(TimeStamp aNow, MediaCache::BlockList* MediaCache::GetListForBlock(BlockOwner* aBlock) { + mReentrantMonitor.AssertCurrentThreadIn(); + switch (aBlock->mClass) { case METADATA_BLOCK: NS_ASSERTION(aBlock->mStream, "Metadata block has no stream?"); @@ -987,6 +993,8 @@ MediaCache::GetListForBlock(BlockOwner* aBlock) MediaCache::BlockOwner* MediaCache::GetBlockOwner(int32_t aBlockIndex, MediaCacheStream* aStream) { + mReentrantMonitor.AssertCurrentThreadIn(); + Block* block = &mIndex[aBlockIndex]; for (uint32_t i = 0; i < block->mOwners.Length(); ++i) { if (block->mOwners[i].mStream == aStream) @@ -1042,6 +1050,8 @@ MediaCache::SwapBlocks(int32_t aBlockIndex1, int32_t aBlockIndex2) void MediaCache::RemoveBlockOwner(int32_t aBlockIndex, MediaCacheStream* aStream) { + mReentrantMonitor.AssertCurrentThreadIn(); + Block* block = &mIndex[aBlockIndex]; for (uint32_t i = 0; i < block->mOwners.Length(); ++i) { BlockOwner* bo = &block->mOwners[i]; @@ -1062,6 +1072,8 @@ MediaCache::AddBlockOwnerAsReadahead(int32_t aBlockIndex, MediaCacheStream* aStream, int32_t aStreamBlockIndex) { + mReentrantMonitor.AssertCurrentThreadIn(); + Block* block = &mIndex[aBlockIndex]; if (block->mOwners.IsEmpty()) { mFreeBlocks.RemoveBlock(aBlockIndex); @@ -1102,6 +1114,7 @@ MediaCache::FreeBlock(int32_t aBlock) TimeDuration MediaCache::PredictNextUse(TimeStamp aNow, int32_t aBlock) { + MOZ_ASSERT(sThread->IsOnCurrentThread()); mReentrantMonitor.AssertCurrentThreadIn(); NS_ASSERTION(!IsBlockFree(aBlock), "aBlock is free"); @@ -1157,6 +1170,7 @@ MediaCache::PredictNextUse(TimeStamp aNow, int32_t aBlock) TimeDuration MediaCache::PredictNextUseForIncomingData(MediaCacheStream* aStream) { + MOZ_ASSERT(sThread->IsOnCurrentThread()); mReentrantMonitor.AssertCurrentThreadIn(); int64_t bytesAhead = aStream->mChannelOffset - aStream->mStreamOffset; @@ -1627,8 +1641,7 @@ MediaCache::Verify() #endif void -MediaCache::InsertReadaheadBlock(BlockOwner* aBlockOwner, - int32_t aBlockIndex) +MediaCache::InsertReadaheadBlock(BlockOwner* aBlockOwner, int32_t aBlockIndex) { mReentrantMonitor.AssertCurrentThreadIn(); @@ -1659,6 +1672,7 @@ MediaCache::AllocateAndWriteBlock(MediaCacheStream* aStream, Span aData1, Span aData2) { + MOZ_ASSERT(sThread->IsOnCurrentThread()); mReentrantMonitor.AssertCurrentThreadIn(); // Remove all cached copies of this block @@ -2105,6 +2119,8 @@ void MediaCacheStream::FlushPartialBlockInternal(bool aNotifyAll, ReentrantMonitorAutoEnter& aReentrantMonitor) { + MOZ_ASSERT(OwnerThread()->IsOnCurrentThread()); + int32_t blockIndex = OffsetToBlockIndexUnchecked(mChannelOffset); int32_t blockOffset = OffsetInBlock(mChannelOffset); if (blockOffset > 0) { @@ -2138,6 +2154,7 @@ MediaCacheStream::NotifyDataEndedInternal(uint32_t aLoadID, nsresult aStatus, bool aReopenOnError) { + MOZ_ASSERT(OwnerThread()->IsOnCurrentThread()); ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); if (mClosed || aLoadID != mLoadID) { @@ -2273,7 +2290,9 @@ MediaCacheStream::~MediaCacheStream() bool MediaCacheStream::AreAllStreamsForResourceSuspended() { + MOZ_ASSERT(!NS_IsMainThread()); ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); + MediaCache::ResourceStreamIterator iter(mMediaCache, mResourceID); // Look for a stream that's able to read the data we need int64_t dataOffset = -1; @@ -2324,6 +2343,7 @@ MediaCacheStream::Close() void MediaCacheStream::Pin() { + // TODO: Assert non-main thread. ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); ++mPinCount; // Queue an Update since we may no longer want to read more into the @@ -2334,6 +2354,7 @@ MediaCacheStream::Pin() void MediaCacheStream::Unpin() { + // TODO: Assert non-main thread. ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); NS_ASSERTION(mPinCount > 0, "Unbalanced Unpin"); --mPinCount; @@ -2345,6 +2366,7 @@ MediaCacheStream::Unpin() int64_t MediaCacheStream::GetLength() { + // TODO: Assert non-main thread. ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); return mStreamLength; } @@ -2352,6 +2374,7 @@ MediaCacheStream::GetLength() int64_t MediaCacheStream::GetOffset() const { + // TODO: Assert non-main thread. ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); return mChannelOffset; } @@ -2359,6 +2382,7 @@ MediaCacheStream::GetOffset() const int64_t MediaCacheStream::GetNextCachedData(int64_t aOffset) { + MOZ_ASSERT(!NS_IsMainThread()); ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); return GetNextCachedDataInternal(aOffset); } @@ -2366,6 +2390,7 @@ MediaCacheStream::GetNextCachedData(int64_t aOffset) int64_t MediaCacheStream::GetCachedDataEnd(int64_t aOffset) { + // TODO: Assert non-main thread. ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); return GetCachedDataEndInternal(aOffset); } @@ -2373,6 +2398,7 @@ MediaCacheStream::GetCachedDataEnd(int64_t aOffset) bool MediaCacheStream::IsDataCachedToEndOfStream(int64_t aOffset) { + MOZ_ASSERT(!NS_IsMainThread()); ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); if (mStreamLength < 0) return false; @@ -2457,6 +2483,7 @@ MediaCacheStream::GetNextCachedDataInternal(int64_t aOffset) void MediaCacheStream::SetReadMode(ReadMode aMode) { + // TODO: Assert non-main thread. ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); if (aMode == mCurrentMode) return; @@ -2596,8 +2623,7 @@ MediaCacheStream::ReadBlockFromCache(int64_t aOffset, nsresult MediaCacheStream::Read(char* aBuffer, uint32_t aCount, uint32_t* aBytes) { - NS_ASSERTION(!NS_IsMainThread(), "Don't call on main thread"); - + MOZ_ASSERT(!NS_IsMainThread()); ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); // Cache the offset in case it is changed again when we are waiting for the @@ -2694,8 +2720,7 @@ nsresult MediaCacheStream::ReadAt(int64_t aOffset, char* aBuffer, uint32_t aCount, uint32_t* aBytes) { - NS_ASSERTION(!NS_IsMainThread(), "Don't call on main thread"); - + MOZ_ASSERT(!NS_IsMainThread()); ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); nsresult rv = Seek(aOffset); if (NS_FAILED(rv)) return rv; @@ -2705,6 +2730,7 @@ MediaCacheStream::ReadAt(int64_t aOffset, char* aBuffer, nsresult MediaCacheStream::ReadFromCache(char* aBuffer, int64_t aOffset, uint32_t aCount) { + MOZ_ASSERT(!NS_IsMainThread()); ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); // The buffer we are about to fill. @@ -2842,6 +2868,7 @@ MediaCacheStream::OwnerThread() const nsresult MediaCacheStream::GetCachedRanges(MediaByteRangeSet& aRanges) { + MOZ_ASSERT(!NS_IsMainThread()); // Take the monitor, so that the cached data ranges can't grow while we're // trying to loop over them. ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor()); From ce20f92811b2bbe172e09dde149cfe66241097cd Mon Sep 17 00:00:00 2001 From: JW Wang Date: Thu, 23 Nov 2017 11:30:07 +0800 Subject: [PATCH 33/77] Bug 1420016 - remove ChannelMediaResource::IsSuspendedByCache(). r=bechen,gerald For it is used internally by CacheClientNotifySuspendedStatusChanged() only. MozReview-Commit-ID: 8XVUHhdERYR --HG-- extra : rebase_source : 60b97821b3e1c13bf1ba706ad1431b9e323df319 extra : intermediate-source : 6891fae737691efcf0885ff90fc7af777f9493d8 extra : source : 8c49a2fbc12f59c83809d233c9c0e9fa404cdd21 --- dom/media/ChannelMediaResource.cpp | 10 ++-------- dom/media/ChannelMediaResource.h | 3 +-- dom/media/MediaCache.cpp | 3 ++- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/dom/media/ChannelMediaResource.cpp b/dom/media/ChannelMediaResource.cpp index 671617050713..106ce594d11a 100644 --- a/dom/media/ChannelMediaResource.cpp +++ b/dom/media/ChannelMediaResource.cpp @@ -849,13 +849,13 @@ ChannelMediaResource::UpdatePrincipal() } void -ChannelMediaResource::CacheClientNotifySuspendedStatusChanged() +ChannelMediaResource::CacheClientNotifySuspendedStatusChanged(bool aSuspended) { mCallback->AbstractMainThread()->Dispatch(NewRunnableMethod( "MediaResourceCallback::NotifySuspendedStatusChanged", mCallback.get(), &MediaResourceCallback::NotifySuspendedStatusChanged, - IsSuspendedByCache())); + aSuspended)); } nsresult @@ -943,12 +943,6 @@ ChannelMediaResource::IsDataCachedToEndOfResource(int64_t aOffset) return mCacheStream.IsDataCachedToEndOfStream(aOffset); } -bool -ChannelMediaResource::IsSuspendedByCache() -{ - return mCacheStream.AreAllStreamsForResourceSuspended(); -} - bool ChannelMediaResource::IsSuspended() { diff --git a/dom/media/ChannelMediaResource.h b/dom/media/ChannelMediaResource.h index f3d28a2530d4..ae36ac5d775c 100644 --- a/dom/media/ChannelMediaResource.h +++ b/dom/media/ChannelMediaResource.h @@ -88,7 +88,7 @@ public: // Notify that the principal for the cached resource changed. void CacheClientNotifyPrincipalChanged(); // Notify the decoder that the cache suspended status changed. - void CacheClientNotifySuspendedStatusChanged(); + void CacheClientNotifySuspendedStatusChanged(bool aSuspended); // These are called on the main thread by MediaCache. These shouldn't block, // but they may grab locks --- the media cache is not holding its lock @@ -192,7 +192,6 @@ public: protected: nsresult Seek(int64_t aOffset, bool aResume); - bool IsSuspendedByCache(); // These are called on the main thread by Listener. nsresult OnStartRequest(nsIRequest* aRequest, int64_t aRequestOffset); nsresult OnStopRequest(nsIRequest* aRequest, nsresult aStatus); diff --git a/dom/media/MediaCache.cpp b/dom/media/MediaCache.cpp index e14ecc091c83..cdd6bdac6843 100644 --- a/dom/media/MediaCache.cpp +++ b/dom/media/MediaCache.cpp @@ -1551,7 +1551,8 @@ MediaCache::Update() for (uint32_t i = 0; i < mSuspendedStatusToNotify.Length(); ++i) { MediaCache::ResourceStreamIterator iter(this, mSuspendedStatusToNotify[i]); while (MediaCacheStream* stream = iter.Next()) { - stream->mClient->CacheClientNotifySuspendedStatusChanged(); + stream->mClient->CacheClientNotifySuspendedStatusChanged( + stream->AreAllStreamsForResourceSuspended()); } } mSuspendedStatusToNotify.Clear(); From 627438bf3c9fa87e0e3018bba30dcbd21965a599 Mon Sep 17 00:00:00 2001 From: dluca Date: Mon, 27 Nov 2017 07:42:50 +0200 Subject: [PATCH 34/77] Backed out 4 changesets (bug 1418224) for build bustages r=backout on a CLOSED TREE Backed out changeset 3ef8715cb8d7 (bug 1418224) Backed out changeset 0d58d9fed90d (bug 1418224) Backed out changeset faad7f275749 (bug 1418224) Backed out changeset 1e86ff6b95ae (bug 1418224) --- .../rootAnalysis/analyzeHeapWrites.js | 1 - layout/generic/nsFloatManager.cpp | 84 ++++++++----------- layout/generic/nsFloatManager.h | 6 -- layout/inspector/inDOMUtils.cpp | 5 +- layout/style/ServoBindings.cpp | 6 -- layout/style/ServoBindings.h | 1 - layout/style/StyleAnimationValue.cpp | 3 - layout/style/nsCSSParser.cpp | 12 +-- layout/style/nsCSSPropList.h | 1 - layout/style/nsComputedDOMStyle.cpp | 7 +- layout/style/nsRuleNode.cpp | 9 +- layout/style/nsStyleConsts.h | 3 +- layout/style/nsStyleStruct.cpp | 54 +++--------- layout/style/nsStyleStruct.h | 14 +--- layout/style/test/property_database.js | 16 +--- .../test/test_transitions_per_property.html | 23 ++--- .../fetch-request-css-images.https.html.ini | 2 +- .../accumulation-per-property.html.ini | 7 -- .../addition-per-property.html.ini | 7 -- .../interpolation-per-property.html.ini | 32 ++----- 20 files changed, 73 insertions(+), 220 deletions(-) diff --git a/js/src/devtools/rootAnalysis/analyzeHeapWrites.js b/js/src/devtools/rootAnalysis/analyzeHeapWrites.js index 1202f27d85e9..6f023474e876 100644 --- a/js/src/devtools/rootAnalysis/analyzeHeapWrites.js +++ b/js/src/devtools/rootAnalysis/analyzeHeapWrites.js @@ -223,7 +223,6 @@ function treatAsSafeArgument(entry, varName, csuName) ["Gecko_DestroyShapeSource", "aShape", null], ["Gecko_StyleShapeSource_SetURLValue", "aShape", null], ["Gecko_NewBasicShape", "aShape", null], - ["Gecko_NewShapeImage", "aShape", null], ["Gecko_nsFont_InitSystem", "aDest", null], ["Gecko_nsFont_SetFontFeatureValuesLookup", "aFont", null], ["Gecko_nsFont_ResetFontFeatureValuesLookup", "aFont", null], diff --git a/layout/generic/nsFloatManager.cpp b/layout/generic/nsFloatManager.cpp index 44ba8ef952bd..40f3cad7b181 100644 --- a/layout/generic/nsFloatManager.cpp +++ b/layout/generic/nsFloatManager.cpp @@ -756,38 +756,46 @@ nsFloatManager::FloatInfo::FloatInfo(nsIFrame* aFrame, const StyleShapeSource& shapeOutside = mFrame->StyleDisplay()->mShapeOutside; - switch (shapeOutside.GetType()) { - case StyleShapeSourceType::None: - // No need to create shape info. - return; + if (shapeOutside.GetType() == StyleShapeSourceType::None) { + return; + } - case StyleShapeSourceType::URL: - MOZ_ASSERT_UNREACHABLE("shape-outside doesn't have URL source type!"); - return; + if (shapeOutside.GetType() == StyleShapeSourceType::URL) { + // Bug 1265343: Implement 'shape-image-threshold'. Early return + // here because shape-outside with url() value doesn't have a + // reference box, and GetReferenceBox() asserts that. + return; + } - case StyleShapeSourceType::Image: - // Bug 1265343: Implement 'shape-image-threshold' - // Bug 1404222: Support shape-outside: - return; + // Initialize 's reference rect. + LogicalRect shapeBoxRect = + ShapeInfo::ComputeShapeBoxRect(shapeOutside, mFrame, aMarginRect, aWM); - case StyleShapeSourceType::Box: { - // Initialize 's reference rect. - LogicalRect shapeBoxRect = - ShapeInfo::ComputeShapeBoxRect(shapeOutside, mFrame, aMarginRect, aWM); - mShapeInfo = ShapeInfo::CreateShapeBox(mFrame, shapeBoxRect, aWM, - aContainerSize); - break; - } - - case StyleShapeSourceType::Shape: { - const UniquePtr& basicShape = shapeOutside.GetBasicShape(); - // Initialize 's reference rect. - LogicalRect shapeBoxRect = - ShapeInfo::ComputeShapeBoxRect(shapeOutside, mFrame, aMarginRect, aWM); - mShapeInfo = ShapeInfo::CreateBasicShape(basicShape, shapeBoxRect, aWM, - aContainerSize); - break; + if (shapeOutside.GetType() == StyleShapeSourceType::Box) { + mShapeInfo = ShapeInfo::CreateShapeBox(mFrame, shapeBoxRect, aWM, + aContainerSize); + } else if (shapeOutside.GetType() == StyleShapeSourceType::Shape) { + const UniquePtr& basicShape = shapeOutside.GetBasicShape(); + + switch (basicShape->GetShapeType()) { + case StyleBasicShapeType::Polygon: + mShapeInfo = + ShapeInfo::CreatePolygon(basicShape, shapeBoxRect, aWM, + aContainerSize); + break; + case StyleBasicShapeType::Circle: + case StyleBasicShapeType::Ellipse: + mShapeInfo = + ShapeInfo::CreateCircleOrEllipse(basicShape, shapeBoxRect, aWM, + aContainerSize); + break; + case StyleBasicShapeType::Inset: + mShapeInfo = + ShapeInfo::CreateInset(basicShape, shapeBoxRect, aWM, aContainerSize); + break; } + } else { + MOZ_ASSERT_UNREACHABLE("Unknown StyleShapeSourceType!"); } MOZ_ASSERT(mShapeInfo, @@ -952,26 +960,6 @@ nsFloatManager::ShapeInfo::CreateShapeBox( aWM)); } -/* static */ UniquePtr -nsFloatManager::ShapeInfo::CreateBasicShape( - const UniquePtr& aBasicShape, - const LogicalRect& aShapeBoxRect, - WritingMode aWM, - const nsSize& aContainerSize) -{ - switch (aBasicShape->GetShapeType()) { - case StyleBasicShapeType::Polygon: - return CreatePolygon(aBasicShape, aShapeBoxRect, aWM, aContainerSize); - case StyleBasicShapeType::Circle: - case StyleBasicShapeType::Ellipse: - return CreateCircleOrEllipse(aBasicShape, aShapeBoxRect, aWM, - aContainerSize); - case StyleBasicShapeType::Inset: - return CreateInset(aBasicShape, aShapeBoxRect, aWM, aContainerSize); - } - return nullptr; -} - /* static */ UniquePtr nsFloatManager::ShapeInfo::CreateInset( const UniquePtr& aBasicShape, diff --git a/layout/generic/nsFloatManager.h b/layout/generic/nsFloatManager.h index bd9eccb40b13..6999257103d2 100644 --- a/layout/generic/nsFloatManager.h +++ b/layout/generic/nsFloatManager.h @@ -381,12 +381,6 @@ private: mozilla::WritingMode aWM, const nsSize& aContainerSize); - static mozilla::UniquePtr CreateBasicShape( - const mozilla::UniquePtr& aBasicShape, - const mozilla::LogicalRect& aShapeBoxRect, - mozilla::WritingMode aWM, - const nsSize& aContainerSize); - static mozilla::UniquePtr CreateInset( const mozilla::UniquePtr& aBasicShape, const mozilla::LogicalRect& aShapeBoxRect, diff --git a/layout/inspector/inDOMUtils.cpp b/layout/inspector/inDOMUtils.cpp index 304574d0eae7..4c80c2f04881 100644 --- a/layout/inspector/inDOMUtils.cpp +++ b/layout/inspector/inDOMUtils.cpp @@ -816,11 +816,8 @@ PropertySupportsVariant(nsCSSPropertyID aPropertyID, uint32_t aVariant) case eCSSProperty_content: case eCSSProperty_cursor: case eCSSProperty_clip_path: - supported = VARIANT_URL; - break; - case eCSSProperty_shape_outside: - supported = VARIANT_IMAGE; + supported = VARIANT_URL; break; case eCSSProperty_fill: diff --git a/layout/style/ServoBindings.cpp b/layout/style/ServoBindings.cpp index 5cb23de71284..2c59a7cbe1f3 100644 --- a/layout/style/ServoBindings.cpp +++ b/layout/style/ServoBindings.cpp @@ -2028,12 +2028,6 @@ Gecko_NewBasicShape(mozilla::StyleShapeSource* aShape, StyleGeometryBox::NoBox); } -void -Gecko_NewShapeImage(mozilla::StyleShapeSource* aShape) -{ - aShape->SetShapeImage(MakeUnique()); -} - void Gecko_ResetFilters(nsStyleEffects* effects, size_t new_len) { diff --git a/layout/style/ServoBindings.h b/layout/style/ServoBindings.h index c9eb1052eb64..dc3476a71233 100644 --- a/layout/style/ServoBindings.h +++ b/layout/style/ServoBindings.h @@ -519,7 +519,6 @@ void Gecko_CopyShapeSourceFrom(mozilla::StyleShapeSource* dst, const mozilla::St void Gecko_DestroyShapeSource(mozilla::StyleShapeSource* shape); void Gecko_NewBasicShape(mozilla::StyleShapeSource* shape, mozilla::StyleBasicShapeType type); -void Gecko_NewShapeImage(mozilla::StyleShapeSource* shape); void Gecko_StyleShapeSource_SetURLValue(mozilla::StyleShapeSource* shape, ServoBundledURI uri); void Gecko_ResetFilters(nsStyleEffects* effects, size_t new_len); diff --git a/layout/style/StyleAnimationValue.cpp b/layout/style/StyleAnimationValue.cpp index 4a3ea7fc013c..d780e0c4301c 100644 --- a/layout/style/StyleAnimationValue.cpp +++ b/layout/style/StyleAnimationValue.cpp @@ -4245,9 +4245,6 @@ ExtractComputedValueFromShapeSource(const StyleShapeSource& aShapeSource, aComputedValue.SetCSSValueArrayValue(result, StyleAnimationValue::eUnit_Shape); - } else if (type == StyleShapeSourceType::Image) { - // XXX: Won't implement because Gecko style system will be removed. - return false; } else { MOZ_ASSERT(type == StyleShapeSourceType::None, "unknown type"); aComputedValue.SetNoneValue(); diff --git a/layout/style/nsCSSParser.cpp b/layout/style/nsCSSParser.cpp index f5b8fbaab970..ec5af6bbcde7 100644 --- a/layout/style/nsCSSParser.cpp +++ b/layout/style/nsCSSParser.cpp @@ -16443,16 +16443,8 @@ CSSParserImpl::ParseClipPath(nsCSSValue& aValue) bool CSSParserImpl::ParseShapeOutside(nsCSSValue& aValue) { - CSSParseResult result = - ParseVariant(aValue, VARIANT_IMAGE | VARIANT_INHERIT, nullptr); - - if (result == CSSParseResult::Error) { - return false; - } - - if (result == CSSParseResult::Ok) { - // 'inherit', 'initial', 'unset', 'none', and ( or - // ) must be alone. + if (ParseSingleTokenVariant(aValue, VARIANT_HUO, nullptr)) { + // 'inherit', 'initial', 'unset', 'none', and url must be alone. return true; } diff --git a/layout/style/nsCSSPropList.h b/layout/style/nsCSSPropList.h index 2d33cd56b39b..2b14ef687426 100644 --- a/layout/style/nsCSSPropList.h +++ b/layout/style/nsCSSPropList.h @@ -3765,7 +3765,6 @@ CSS_PROP_DISPLAY( CSS_PROPERTY_PARSE_VALUE | CSS_PROPERTY_VALUE_PARSER_FUNCTION | CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | - CSS_PROPERTY_START_IMAGE_LOADS | CSS_PROPERTY_STORES_CALC, "layout.css.shape-outside.enabled", 0, diff --git a/layout/style/nsComputedDOMStyle.cpp b/layout/style/nsComputedDOMStyle.cpp index dbd607caaf56..402a83a70d1e 100644 --- a/layout/style/nsComputedDOMStyle.cpp +++ b/layout/style/nsComputedDOMStyle.cpp @@ -6553,11 +6553,8 @@ nsComputedDOMStyle::GetShapeSource( val->SetIdent(eCSSKeyword_none); return val.forget(); } - case StyleShapeSourceType::Image: { - RefPtr val = new nsROCSSPrimitiveValue; - SetValueToStyleImage(*aShapeSource.GetShapeImage(), val); - return val.forget(); - } + default: + NS_NOTREACHED("unexpected type"); } return nullptr; } diff --git a/layout/style/nsRuleNode.cpp b/layout/style/nsRuleNode.cpp index 5339f850eef5..7f97b9ea2670 100644 --- a/layout/style/nsRuleNode.cpp +++ b/layout/style/nsRuleNode.cpp @@ -6434,14 +6434,9 @@ nsRuleNode::ComputeDisplayData(void* aStartStruct, conditions.SetUncacheable(); display->mShapeOutside = parentDisplay->mShapeOutside; break; - case eCSSUnit_Image: - case eCSSUnit_Function: - case eCSSUnit_Gradient: - case eCSSUnit_Element: { - auto shapeImage = MakeUnique(); - SetStyleImage(aContext, *shapeOutsideValue, *shapeImage, conditions); + case eCSSUnit_URL: { display->mShapeOutside = StyleShapeSource(); - display->mShapeOutside.SetShapeImage(Move(shapeImage)); + display->mShapeOutside.SetURL(shapeOutsideValue->GetURLStructValue()); break; } case eCSSUnit_Array: { diff --git a/layout/style/nsStyleConsts.h b/layout/style/nsStyleConsts.h index 800fd1ed61e1..323f8c21bbbe 100644 --- a/layout/style/nsStyleConsts.h +++ b/layout/style/nsStyleConsts.h @@ -154,8 +154,7 @@ enum class StyleShapeRadius : uint8_t { // Shape source type enum class StyleShapeSourceType : uint8_t { None, - URL, // clip-path only - Image, // shape-outside only + URL, Shape, Box, }; diff --git a/layout/style/nsStyleStruct.cpp b/layout/style/nsStyleStruct.cpp index 491e02897132..d501ea3d250d 100644 --- a/layout/style/nsStyleStruct.cpp +++ b/layout/style/nsStyleStruct.cpp @@ -1073,27 +1073,19 @@ StyleShapeSource::operator==(const StyleShapeSource& aOther) const return false; } - switch (mType) { - case StyleShapeSourceType::None: - return true; - - case StyleShapeSourceType::URL: - case StyleShapeSourceType::Image: - return *mShapeImage == *aOther.mShapeImage; - - case StyleShapeSourceType::Shape: - return *mBasicShape == *aOther.mBasicShape && - mReferenceBox == aOther.mReferenceBox; - - case StyleShapeSourceType::Box: - return mReferenceBox == aOther.mReferenceBox; + if (mType == StyleShapeSourceType::URL) { + return DefinitelyEqualURIs(GetURL(), aOther.GetURL()); + } else if (mType == StyleShapeSourceType::Shape) { + return *mBasicShape == *aOther.mBasicShape && + mReferenceBox == aOther.mReferenceBox; + } else if (mType == StyleShapeSourceType::Box) { + return mReferenceBox == aOther.mReferenceBox; } - MOZ_ASSERT_UNREACHABLE("Unexpected shape source type!"); return true; } -void +bool StyleShapeSource::SetURL(css::URLValue* aValue) { MOZ_ASSERT(aValue); @@ -1102,21 +1094,14 @@ StyleShapeSource::SetURL(css::URLValue* aValue) } mShapeImage->SetURLValue(do_AddRef(aValue)); mType = StyleShapeSourceType::URL; -} - -void -StyleShapeSource::SetShapeImage(UniquePtr aShapeImage) -{ - MOZ_ASSERT(aShapeImage); - mShapeImage = Move(aShapeImage); - mType = StyleShapeSourceType::Image; + return true; } void StyleShapeSource::SetBasicShape(UniquePtr aBasicShape, StyleGeometryBox aReferenceBox) { - MOZ_ASSERT(aBasicShape); + NS_ASSERTION(aBasicShape, "expected pointer"); mBasicShape = Move(aBasicShape); mReferenceBox = aReferenceBox; mType = StyleShapeSourceType::Shape; @@ -1132,6 +1117,7 @@ StyleShapeSource::SetReferenceBox(StyleGeometryBox aReferenceBox) void StyleShapeSource::DoCopy(const StyleShapeSource& aOther) { + switch (aOther.mType) { case StyleShapeSourceType::None: mReferenceBox = StyleGeometryBox::NoBox; @@ -1142,10 +1128,6 @@ StyleShapeSource::DoCopy(const StyleShapeSource& aOther) SetURL(aOther.GetURL()); break; - case StyleShapeSourceType::Image: - SetShapeImage(MakeUnique(*aOther.GetShapeImage())); - break; - case StyleShapeSourceType::Shape: SetBasicShape(MakeUnique(*aOther.GetBasicShape()), aOther.GetReferenceBox()); @@ -3716,20 +3698,6 @@ nsStyleDisplay::~nsStyleDisplay() MOZ_COUNT_DTOR(nsStyleDisplay); } -void -nsStyleDisplay::FinishStyle(nsPresContext* aPresContext) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aPresContext->StyleSet()->IsServo()); - - if (mShapeOutside.GetType() == StyleShapeSourceType::Image) { - const UniquePtr& shapeImage = mShapeOutside.GetShapeImage(); - if (shapeImage) { - shapeImage->ResolveImage(aPresContext); - } - } -} - nsChangeHint nsStyleDisplay::CalcDifference(const nsStyleDisplay& aNewData) const { diff --git a/layout/style/nsStyleStruct.h b/layout/style/nsStyleStruct.h index ea7a73cad51f..bf7eef3d4fd7 100644 --- a/layout/style/nsStyleStruct.h +++ b/layout/style/nsStyleStruct.h @@ -2472,15 +2472,7 @@ struct StyleShapeSource final : nullptr; } - void SetURL(css::URLValue* aValue); - - const UniquePtr& GetShapeImage() const - { - MOZ_ASSERT(mType == StyleShapeSourceType::Image, "Wrong shape source type!"); - return mShapeImage; - } - - void SetShapeImage(UniquePtr aShapeImage); + bool SetURL(css::URLValue* aValue); const UniquePtr& GetBasicShape() const { @@ -2540,8 +2532,8 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStyleDisplay nsStyleDisplay(const nsStyleDisplay& aOther); ~nsStyleDisplay(); - void FinishStyle(nsPresContext* aPresContext); - const static bool kHasFinishStyle = true; + void FinishStyle(nsPresContext* aPresContext) {} + const static bool kHasFinishStyle = false; void* operator new(size_t sz, nsStyleDisplay* aSelf) { return aSelf; } void* operator new(size_t sz, nsPresContext* aContext) { diff --git a/layout/style/test/property_database.js b/layout/style/test/property_database.js index 9cf1fe792501..9ec8e7e32cd1 100644 --- a/layout/style/test/property_database.js +++ b/layout/style/test/property_database.js @@ -6443,19 +6443,9 @@ if (IsCSSPropertyPrefEnabled("layout.css.shape-outside.enabled")) { initial_values: [ "none" ], other_values: [ "url(#my-shape-outside)", - ].concat( - basicShapeOtherValues, - validGradientAndElementValues - ), - invalid_values: [].concat( - basicShapeSVGBoxValues, - basicShapeInvalidValues, - invalidGradientAndElementValues - ), - unbalanced_values: [].concat( - basicShapeUnbalancedValues, - unbalancedGradientAndElementValues - ) + ].concat(basicShapeOtherValues), + invalid_values: basicShapeSVGBoxValues.concat(basicShapeInvalidValues), + unbalanced_values: basicShapeUnbalancedValues, }; } diff --git a/layout/style/test/test_transitions_per_property.html b/layout/style/test/test_transitions_per_property.html index 512a8b79d879..a3dbacdabd58 100644 --- a/layout/style/test/test_transitions_per_property.html +++ b/layout/style/test/test_transitions_per_property.html @@ -638,7 +638,7 @@ var transformTests = [ // reference-box (i.e. border-box or content-box) if needed. // Bug 1313619: Add some tests for two basic shapes with an explicit // reference-box and a default one. -const basicShapesTests = [ +var clipPathAndShapeOutsideTests = [ { start: "none", end: "none", expected: ["none"] }, // none to shape @@ -780,20 +780,12 @@ const basicShapesTests = [ { start: "circle(20px)", end: "content-box", expected: ["content-box"] }, { start: "content-box", end: "circle(20px)", expected: ["circle", ["20px at 50% 50%"]] }, // url to shape - { start: "circle(20px)", end: "url(http://localhost/a.png)", expected: ["url", ["\"http://localhost/a.png\""]] }, - { start: "url(http://localhost/a.png)", end: "circle(20px)", expected: ["circle", ["20px at 50% 50%"]] }, - // url to none - { start: "none", end: "url(http://localhost/a.png)", expected: ["url", ["\"http://localhost/a.png\""]] }, - { start: "http://localhost/a.png", end: "none", expected: ["none"] }, -]; - -const basicShapesWithFragmentUrlTests = [ - // Fragment url to shape { start: "circle(20px)", end: "url('#a')", expected: ["url", ["\"#a\""]] }, { start: "url('#a')", end: "circle(20px)", expected: ["circle", ["20px at 50% 50%"]] }, - // Fragment url to none + // url to none { start: "none", end: "url('#a')", expected: ["url", ["\"#a\""]] }, { start: "url('#a')", end: "none", expected: ["none"] }, + ]; var filterTests = [ @@ -1583,13 +1575,8 @@ function filter_function_list_equals(computedValStr, expectedList) } function test_basic_shape_or_url_transition(prop) { - let tests = basicShapesTests; - if (prop == "clip-path") { - // Clip-path won't resolve fragment URLs. - tests.concat(basicShapesWithFragmentUrlTests); - } - - for (let test of tests) { + for (var i in clipPathAndShapeOutsideTests) { + var test = clipPathAndShapeOutsideTests[i]; div.style.setProperty("transition-property", "none", ""); div.style.setProperty(prop, test.start, ""); cs.getPropertyValue(prop); diff --git a/testing/web-platform/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini b/testing/web-platform/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini index dc72bf2698c6..2fc461888dde 100644 --- a/testing/web-platform/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini +++ b/testing/web-platform/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini @@ -2,7 +2,7 @@ type: testharness expected: TIMEOUT [Verify FetchEvent for css image (shapeOutside).] - expected: FAIL # Bug 1418930 + expected: TIMEOUT [Verify FetchEvent for css image-set (backgroundImage).] expected: TIMEOUT diff --git a/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini b/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini index 32238ef1b158..086b3bb176fc 100644 --- a/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini +++ b/testing/web-platform/meta/web-animations/animation-model/animation-types/accumulation-per-property.html.ini @@ -1,10 +1,3 @@ prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.enabled:true] [accumulation-per-property.html] type: testharness - [shape-outside: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")"] - expected: - if not stylo: FAIL - - [shape-outside: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")"] - expected: - if not stylo: FAIL diff --git a/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini b/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini index fb3d14b801ea..d6379acc63a9 100644 --- a/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini +++ b/testing/web-platform/meta/web-animations/animation-model/animation-types/addition-per-property.html.ini @@ -1,10 +1,3 @@ prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.enabled:true] [addition-per-property.html] type: testharness - [shape-outside: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")"] - expected: - if not stylo: FAIL - - [shape-outside: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")"] - expected: - if not stylo: FAIL diff --git a/testing/web-platform/meta/web-animations/animation-model/animation-types/interpolation-per-property.html.ini b/testing/web-platform/meta/web-animations/animation-model/animation-types/interpolation-per-property.html.ini index fb7a5cd6fc2c..f96619d36fab 100644 --- a/testing/web-platform/meta/web-animations/animation-model/animation-types/interpolation-per-property.html.ini +++ b/testing/web-platform/meta/web-animations/animation-model/animation-types/interpolation-per-property.html.ini @@ -7,37 +7,17 @@ prefs: [layout.css.font-variations.enabled:true, layout.css.overflow-clip-box.en [font-variation-settings supports animation as float with multiple tags] expected: - if not stylo: FAIL + if stylo: PASS + FAIL [font-variation-settings supports animation as float with multiple duplicate tags] expected: - if not stylo: FAIL + if stylo: PASS + FAIL [transform: non-invertible matrices in matched transform lists] expected: - if not stylo: FAIL + if stylo: PASS + FAIL bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1400167 - [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing] - expected: - if not stylo: FAIL - - [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing] - expected: - if not stylo: FAIL - - [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing] - expected: - if not stylo: FAIL - - [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with effect easing] - expected: - if not stylo: FAIL - - [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with effect easing] - expected: - if not stylo: FAIL - - [shape-outside uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with keyframe easing] - expected: - if not stylo: FAIL From 23677e6410652d7490f7143c52ad97954ef2165a Mon Sep 17 00:00:00 2001 From: Hiroyuki Ikezoe Date: Mon, 27 Nov 2017 07:44:53 +0900 Subject: [PATCH 35/77] Bug 1420774 - Drop unnecessary virtual from Animation methods. r=boris MozReview-Commit-ID: wRrKFbjsTx --HG-- extra : rebase_source : 0e29a425d94c9cac01a5ba1f149f48301bcf5cde --- dom/animation/Animation.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dom/animation/Animation.h b/dom/animation/Animation.h index ae2facfc6bed..ff4fc37edf8a 100644 --- a/dom/animation/Animation.h +++ b/dom/animation/Animation.h @@ -112,12 +112,12 @@ public: AnimationPlayState PlayState() const; bool Pending() const { return mPendingState != PendingState::NotPending; } virtual Promise* GetReady(ErrorResult& aRv); - virtual Promise* GetFinished(ErrorResult& aRv); + Promise* GetFinished(ErrorResult& aRv); void Cancel(); - virtual void Finish(ErrorResult& aRv); + void Finish(ErrorResult& aRv); virtual void Play(ErrorResult& aRv, LimitBehavior aLimitBehavior); virtual void Pause(ErrorResult& aRv); - virtual void Reverse(ErrorResult& aRv); + void Reverse(ErrorResult& aRv); bool IsRunningOnCompositor() const; IMPL_EVENT_HANDLER(finish); IMPL_EVENT_HANDLER(cancel); From 91a021aeb0684e0263485cc034f6555977c9c05e Mon Sep 17 00:00:00 2001 From: Gerald Squelart Date: Mon, 20 Nov 2017 17:15:08 +1100 Subject: [PATCH 36/77] Bug 1420298 'layout.display-list.retain.verify' to debug retained-dl - r=mattwoodrow Setting the 'layout.display-list.retain.verify' gfxPrefs implies 'layout.display-list.build-twice', and then compares the retained-built tree to the non-retained one, and outputs differences&trees to the terminal. MozReview-Commit-ID: 3dnyIUTbtH8 --HG-- extra : rebase_source : 36a6b8f029d0bd1339557e7c630906311ecf1254 --- gfx/thebes/gfxPrefs.h | 1 + layout/base/nsLayoutUtils.cpp | 29 +- layout/painting/DisplayListChecker.cpp | 371 +++++++++++++++++++++++++ layout/painting/DisplayListChecker.h | 49 ++++ layout/painting/moz.build | 1 + 5 files changed, 450 insertions(+), 1 deletion(-) create mode 100644 layout/painting/DisplayListChecker.cpp create mode 100644 layout/painting/DisplayListChecker.h diff --git a/gfx/thebes/gfxPrefs.h b/gfx/thebes/gfxPrefs.h index 793dd88a993e..09b5ba1fdb91 100644 --- a/gfx/thebes/gfxPrefs.h +++ b/gfx/thebes/gfxPrefs.h @@ -650,6 +650,7 @@ private: DECL_GFX_PREF(Live, "layout.display-list.build-twice", LayoutDisplayListBuildTwice, bool, false); DECL_GFX_PREF(Live, "layout.display-list.retain", LayoutRetainDisplayList, bool, true); + DECL_GFX_PREF(Live, "layout.display-list.retain.verify", LayoutVerifyRetainDisplayList, bool, false); DECL_GFX_PREF(Live, "layout.display-list.rebuild-frame-limit", LayoutRebuildFrameLimit, uint32_t, 500); DECL_GFX_PREF(Live, "layout.display-list.dump", LayoutDumpDisplayList, bool, false); DECL_GFX_PREF(Live, "layout.display-list.dump-content", LayoutDumpDisplayListContent, bool, false); diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp index cfbe0325d7f1..f8690ad2fc56 100644 --- a/layout/base/nsLayoutUtils.cpp +++ b/layout/base/nsLayoutUtils.cpp @@ -128,6 +128,7 @@ #include "mozilla/layers/WebRenderLayerManager.h" #include "prenv.h" #include "RetainedDisplayListBuilder.h" +#include "DisplayListChecker.h" #include "TextDrawTarget.h" #include "nsDeckFrame.h" #include "nsIEffectiveTLDService.h" // for IsInStyloBlocklist @@ -3845,16 +3846,26 @@ nsLayoutUtils::PaintFrame(gfxContext* aRenderingContext, nsIFrame* aFrame, builder.IsBuildingLayerEventRegions() && nsLayoutUtils::HasDocumentLevelListenersForApzAwareEvents(presShell)); + DisplayListChecker beforeMergeChecker; + DisplayListChecker afterMergeChecker; + // Attempt to do a partial build and merge into the existing list. // This calls BuildDisplayListForStacking context on a subset of the // viewport. bool merged = false; if (useRetainedBuilder) { + if (gfxPrefs::LayoutVerifyRetainDisplayList()) { + beforeMergeChecker.Set(&list, "BM"); + } merged = retainedBuilder->AttemptPartialUpdate(aBackstop); + if (merged && beforeMergeChecker) { + afterMergeChecker.Set(&list, "AM"); + } } - if (merged && gfxPrefs::LayoutDisplayListBuildTwice()) { + if (merged && + (gfxPrefs::LayoutDisplayListBuildTwice() || afterMergeChecker)) { merged = false; if (gfxPrefs::LayersDrawFPS()) { if (RefPtr lm = builder.GetWidgetLayerManager()) { @@ -3875,6 +3886,22 @@ nsLayoutUtils::PaintFrame(gfxContext* aRenderingContext, nsIFrame* aFrame, AddExtraBackgroundItems(builder, list, aFrame, canvasArea, visibleRegion, aBackstop); builder.LeavePresShell(aFrame, &list); + + if (afterMergeChecker) { + DisplayListChecker nonRetainedChecker(&list, "NR"); + std::stringstream ss; + ss << "**** Differences between retained-after-merged (AM) and " + << "non-retained (NR) display lists:"; + if (!nonRetainedChecker.CompareList(afterMergeChecker, ss)) { + ss << "\n\n*** non-retained display items:"; + nonRetainedChecker.Dump(ss); + ss << "\n\n*** before-merge retained display items:"; + beforeMergeChecker.Dump(ss); + ss << "\n\n*** after-merge retained display items:"; + afterMergeChecker.Dump(ss); + fprintf(stderr, "%s\n\n", ss.str().c_str()); + } + } } } diff --git a/layout/painting/DisplayListChecker.cpp b/layout/painting/DisplayListChecker.cpp new file mode 100644 index 000000000000..05bb68a0bc68 --- /dev/null +++ b/layout/painting/DisplayListChecker.cpp @@ -0,0 +1,371 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* 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/. */ + +#include "DisplayListChecker.h" + +#include "nsDisplayList.h" + +namespace mozilla { + +class DisplayItemBlueprint; + +// Stack node used during tree visits, to store the path to a display item. +struct DisplayItemBlueprintStack +{ + const DisplayItemBlueprintStack* mPrevious; + const DisplayItemBlueprint* mItem; + // Output stack to aSs, with format "name#index > ... > name#index". + // Returns true if anything was output, false if empty. + bool Output(std::stringstream& aSs) const; +}; + +// Object representing a list of display items (either the top of the tree, or +// an item's children), with just enough information to compare with another +// tree and output useful debugging information. +class DisplayListBlueprint +{ +public: + DisplayListBlueprint(nsDisplayList* aList, const char* aName) + : DisplayListBlueprint(aList, 0, aName) + { + } + + DisplayListBlueprint(nsDisplayList* aList, + const char* aName, + unsigned& aIndex) + { + processChildren(aList, aName, aIndex); + } + + // Find a display item with the given frame and per-frame key. + // Returns empty string if not found. + std::string Find(const nsIFrame* aFrame, uint32_t aPerFrameKey) const + { + const DisplayItemBlueprintStack stack{ nullptr, nullptr }; + return Find(aFrame, aPerFrameKey, stack); + } + + std::string Find(const nsIFrame* aFrame, + uint32_t aPerFrameKey, + const DisplayItemBlueprintStack& aStack) const; + + // Compare this list with another one, output differences between the two + // into aDiff. + // Differences include: Display items from one tree for which a corresponding + // item (same frame and per-frame key) cannot be found under corresponding + // parent items. + // Returns true if trees are similar, false if different. + bool CompareList(const DisplayListBlueprint& aOther, + std::stringstream& aDiff) const + { + const DisplayItemBlueprintStack stack{ nullptr, nullptr }; + const bool ab = CompareList(*this, aOther, aOther, aDiff, stack, stack); + const bool ba = + aOther.CompareList(aOther, *this, *this, aDiff, stack, stack); + return ab && ba; + } + + bool CompareList(const DisplayListBlueprint& aRoot, + const DisplayListBlueprint& aOther, + const DisplayListBlueprint& aOtherRoot, + std::stringstream& aDiff, + const DisplayItemBlueprintStack& aStack, + const DisplayItemBlueprintStack& aStackOther) const; + + // Output this tree to aSs. + void Dump(std::stringstream& aSs) const { Dump(aSs, 0); } + + void Dump(std::stringstream& aSs, unsigned aDepth) const; + +private: + // Only used by first constructor, to call the 2nd constructor with an index + // variable on the stack. + DisplayListBlueprint(nsDisplayList* aList, unsigned aIndex, const char* aName) + : DisplayListBlueprint(aList, aName, aIndex) + { + } + + void processChildren(nsDisplayList* aList, + const char* aName, + unsigned& aIndex); + + std::vector mItems; +}; + +// Object representing one display item, with just enough information to +// compare with another item and output useful debugging information. +class DisplayItemBlueprint +{ +public: + DisplayItemBlueprint(nsDisplayItem& aItem, + const char* aName, + unsigned& aIndex) + : mListName(aName) + , mIndex(++aIndex) + , mIndexString(WriteIndex(aName, aIndex)) + , mIndexStringFW(WriteIndexFW(aName, aIndex)) + , mDisplayItemPointer(WriteDisplayItemPointer(aItem)) + , mDescription(WriteDescription(aName, aIndex, aItem)) + , mFrame(aItem.HasDeletedFrame() ? nullptr : aItem.Frame()) + , mPerFrameKey(aItem.GetPerFrameKey()) + , mChildren(aItem.GetChildren(), aName, aIndex) + { + } + + // Compare this item with another one, based on frame and per-frame key. + // Not recursive! I.e., children are not examined. + bool CompareItem(const DisplayItemBlueprint& aOther, + std::stringstream& aDiff) const + { + return mFrame == aOther.mFrame && mPerFrameKey == aOther.mPerFrameKey; + } + + void Dump(std::stringstream& aSs, unsigned aDepth) const; + + const char* mListName; + const unsigned mIndex; + const std::string mIndexString; + const std::string mIndexStringFW; + const std::string mDisplayItemPointer; + const std::string mDescription; + + // For pointer comparison only, do not dereference! + const nsIFrame* const mFrame; + const uint32_t mPerFrameKey; + + const DisplayListBlueprint mChildren; + +private: + static std::string WriteIndex(const char* aName, unsigned aIndex) + { + return nsPrintfCString("%s#%u", aName, aIndex).get(); + } + + static std::string WriteIndexFW(const char* aName, unsigned aIndex) + { + return nsPrintfCString("%s#%4u", aName, aIndex).get(); + } + + static std::string WriteDisplayItemPointer(nsDisplayItem& aItem) + { + return nsPrintfCString("0x%p", &aItem).get(); + } + + static std::string WriteDescription(const char* aName, + unsigned aIndex, + nsDisplayItem& aItem) + { + if (aItem.HasDeletedFrame()) { + return nsPrintfCString( + "%s %s#%u 0x%p f=0x0", aItem.Name(), aName, aIndex, &aItem) + .get(); + } + + const nsIFrame* f = aItem.Frame(); + nsAutoString contentData; +#ifdef DEBUG_FRAME_DUMP + f->GetFrameName(contentData); +#endif + nsIContent* content = f->GetContent(); + if (content) { + nsString tmp; + if (content->GetID()) { + content->GetID()->ToString(tmp); + contentData.AppendLiteral(" id:"); + contentData.Append(tmp); + } + const nsAttrValue* classes = + content->IsElement() ? content->AsElement()->GetClasses() : nullptr; + if (classes) { + classes->ToString(tmp); + contentData.AppendLiteral(" class:"); + contentData.Append(tmp); + } + } + return nsPrintfCString("%s %s#%u p=0x%p f=0x%p(%s) key=%" PRIu32, + aItem.Name(), + aName, + aIndex, + &aItem, + f, + NS_ConvertUTF16toUTF8(contentData).get(), + aItem.GetPerFrameKey()) + .get(); + } +}; + +void +DisplayListBlueprint::processChildren(nsDisplayList* aList, + const char* aName, + unsigned& aIndex) +{ + if (!aList) { + return; + } + const uint32_t n = aList->Count(); + if (n == 0) { + return; + } + mItems.reserve(n); + for (nsDisplayItem* item = aList->GetBottom(); item; + item = item->GetAbove()) { + mItems.emplace_back(*item, aName, aIndex); + } + MOZ_ASSERT(mItems.size() == n); +} + +bool +DisplayItemBlueprintStack::Output(std::stringstream& aSs) const +{ + const bool output = mPrevious ? mPrevious->Output(aSs) : false; + if (mItem) { + if (output) { + aSs << " > "; + } + aSs << mItem->mIndexString; + return true; + } + return output; +} + +std::string +DisplayListBlueprint::Find(const nsIFrame* aFrame, + uint32_t aPerFrameKey, + const DisplayItemBlueprintStack& aStack) const +{ + for (const DisplayItemBlueprint& item : mItems) { + if (item.mFrame == aFrame && item.mPerFrameKey == aPerFrameKey) { + std::stringstream ss; + if (aStack.Output(ss)) { + ss << " > "; + } + ss << item.mDescription; + return ss.str(); + } + const DisplayItemBlueprintStack stack = { &aStack, &item }; + std::string s = item.mChildren.Find(aFrame, aPerFrameKey, stack); + if (!s.empty()) { + return s; + } + } + return ""; +} + +bool +DisplayListBlueprint::CompareList( + const DisplayListBlueprint& aRoot, + const DisplayListBlueprint& aOther, + const DisplayListBlueprint& aOtherRoot, + std::stringstream& aDiff, + const DisplayItemBlueprintStack& aStack, + const DisplayItemBlueprintStack& aStackOther) const +{ + bool same = true; + for (const DisplayItemBlueprint& itemBefore : mItems) { + bool found = false; + for (const DisplayItemBlueprint& itemAfter : aOther.mItems) { + if (itemBefore.CompareItem(itemAfter, aDiff)) { + found = true; + + const DisplayItemBlueprintStack stack = { &aStack, &itemBefore }; + const DisplayItemBlueprintStack stackOther = { &aStackOther, + &itemAfter }; + if (!itemBefore.mChildren.CompareList(aRoot, + itemAfter.mChildren, + aOtherRoot, + aDiff, + stack, + stackOther)) { + same = false; + } + break; + } + } + if (!found) { + same = false; + aDiff << "\n"; + if (aStack.Output(aDiff)) { + aDiff << " > "; + } + aDiff << itemBefore.mDescription; + aDiff << "\n * Cannot find corresponding item under "; + if (!aStackOther.Output(aDiff)) { + if (!aOtherRoot.mItems.empty()) { + aDiff << aOtherRoot.mItems[0].mListName; + } else { + aDiff << "other root"; + } + } + std::string elsewhere = + aOtherRoot.Find(itemBefore.mFrame, itemBefore.mPerFrameKey); + if (!elsewhere.empty()) { + aDiff << "\n * But found: " << elsewhere; + } + } + } + return same; +} + +void +DisplayListBlueprint::Dump(std::stringstream& aSs, unsigned aDepth) const +{ + for (const DisplayItemBlueprint& item : mItems) { + item.Dump(aSs, aDepth); + } +} + +void +DisplayItemBlueprint::Dump(std::stringstream& aSs, unsigned aDepth) const +{ + aSs << "\n" << mIndexStringFW << " "; + for (unsigned i = 0; i < aDepth; ++i) { + aSs << " "; + } + aSs << mDescription; + mChildren.Dump(aSs, aDepth + 1); +} + +DisplayListChecker::DisplayListChecker() + : mBlueprint(nullptr) +{ +} + +DisplayListChecker::DisplayListChecker(nsDisplayList* aList, const char* aName) + : mBlueprint(MakeUnique(aList, aName)) +{ +} + +DisplayListChecker::~DisplayListChecker() = default; + +void +DisplayListChecker::Set(nsDisplayList* aList, const char* aName) +{ + mBlueprint = MakeUnique(aList, aName); +} + +// Compare this list with another one, output differences between the two +// into aDiff. +// Differences include: Display items from one tree for which a corresponding +// item (same frame and per-frame key) cannot be found under corresponding +// parent items. +// Returns true if trees are similar, false if different. +bool +DisplayListChecker::CompareList(const DisplayListChecker& aOther, + std::stringstream& aDiff) const +{ + MOZ_ASSERT(mBlueprint); + MOZ_ASSERT(aOther.mBlueprint); + return mBlueprint->CompareList(*aOther.mBlueprint, aDiff); +} + +void +DisplayListChecker::Dump(std::stringstream& aSs) const +{ + MOZ_ASSERT(mBlueprint); + mBlueprint->Dump(aSs); +} + +} // namespace mozilla diff --git a/layout/painting/DisplayListChecker.h b/layout/painting/DisplayListChecker.h new file mode 100644 index 000000000000..c04c4edc8ac8 --- /dev/null +++ b/layout/painting/DisplayListChecker.h @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* 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/. */ + +#ifndef DisplayListChecker_h__ +#define DisplayListChecker_h__ + +#include +#include + +class nsDisplayList; + +namespace mozilla { + +class DisplayListBlueprint; + +class DisplayListChecker +{ +public: + DisplayListChecker(); + DisplayListChecker(nsDisplayList* aList, const char* aName); + + ~DisplayListChecker(); + + void Set(nsDisplayList* aList, const char* aName); + + explicit operator bool() const { return mBlueprint.get(); } + + // Compare this list with another one, output differences between the two + // into aDiff. + // Differences include: Display items from one tree for which a corresponding + // item (same frame and per-frame key) cannot be found under corresponding + // parent items. + // Returns true if trees are similar, false if different. + bool CompareList(const DisplayListChecker& aOther, + std::stringstream& aDiff) const; + + // Output this tree to aSs. + void Dump(std::stringstream& aSs) const; + +private: + UniquePtr mBlueprint; +}; + +} // namespace mozilla + +#endif // DisplayListChecker_h__ diff --git a/layout/painting/moz.build b/layout/painting/moz.build index 542766e7b8d1..114a5290a20e 100644 --- a/layout/painting/moz.build +++ b/layout/painting/moz.build @@ -35,6 +35,7 @@ UNIFIED_SOURCES += [ 'DisplayItemClip.cpp', 'DisplayItemClipChain.cpp', 'DisplayItemScrollClip.cpp', + 'DisplayListChecker.cpp', 'DisplayListClipState.cpp', 'DottedCornerFinder.cpp', 'FrameLayerBuilder.cpp', From 126931ab2d8aa3876bd2d601bdbf5af43136c0a8 Mon Sep 17 00:00:00 2001 From: Hiroyuki Ikezoe Date: Mon, 27 Nov 2017 12:29:41 +0900 Subject: [PATCH 37/77] Bug 1420791 - Use waitForPaintsFlushed() instead of waitForPaints(). r=boris The waitForPaints() which is defined in function runOMTATest() invokes waitForAllPaintsFlushed(), it is the same what waitForPaintsFlushed() does. MozReview-Commit-ID: BKt2fZO3DuM --HG-- extra : rebase_source : b0cd89ca4000cd7bfae2c169d44984e15e78f9e5 --- layout/style/test/animation_utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layout/style/test/animation_utils.js b/layout/style/test/animation_utils.js index e60dd4b27d21..53b5a5c956b2 100644 --- a/layout/style/test/animation_utils.js +++ b/layout/style/test/animation_utils.js @@ -264,7 +264,7 @@ function runOMTATest(aTestFunction, aOnSkip, specialPowersForPrefs) { // Trigger style flush div.clientTop; - return waitForPaints(); + return waitForPaintsFlushed(); }).then(function() { var opacity = utils.getOMTAStyle(div, "opacity"); cleanUp(); From d606b7a73d9af6fc50c6a2bf7a3f0b53a34a7eef Mon Sep 17 00:00:00 2001 From: Hiroyuki Ikezoe Date: Mon, 27 Nov 2017 12:29:45 +0900 Subject: [PATCH 38/77] Bug 1420791 - Drop explicit flushing styles before calling waitForPaintsFlushed(). r=boris waitForPaintsFlushed() flushes styles inside it, so we don't need the explicit flush. MozReview-Commit-ID: KcQYRDWyhU0 --HG-- extra : rebase_source : 9adeaa107f358d9beb717a6d1fa96bbfd4c05416 --- layout/style/test/animation_utils.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/layout/style/test/animation_utils.js b/layout/style/test/animation_utils.js index 53b5a5c956b2..eedfa2798744 100644 --- a/layout/style/test/animation_utils.js +++ b/layout/style/test/animation_utils.js @@ -262,8 +262,6 @@ function runOMTATest(aTestFunction, aOnSkip, specialPowersForPrefs) { utils.advanceTimeAndRefresh(0); div.style.animation = animationName + " 10s"; - // Trigger style flush - div.clientTop; return waitForPaintsFlushed(); }).then(function() { var opacity = utils.getOMTAStyle(div, "opacity"); From 45e22a80325e822a3dace2a438f4f71f4109cdfe Mon Sep 17 00:00:00 2001 From: Hiroyuki Ikezoe Date: Mon, 27 Nov 2017 12:29:48 +0900 Subject: [PATCH 39/77] Bug 1420791 - Drop waitForPaints() in runOMTATest(). r=boris It's no longer used. MozReview-Commit-ID: DO7RRZaKHxm --HG-- extra : rebase_source : c7a963ca942d3de5c304f7f19e47ab6e77001e93 --- layout/style/test/animation_utils.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/layout/style/test/animation_utils.js b/layout/style/test/animation_utils.js index eedfa2798744..e36fd3112cd2 100644 --- a/layout/style/test/animation_utils.js +++ b/layout/style/test/animation_utils.js @@ -283,12 +283,6 @@ function runOMTATest(aTestFunction, aOnSkip, specialPowersForPrefs) { }); } - function waitForPaints() { - return new Promise(function(resolve, reject) { - waitForAllPaintsFlushed(resolve); - }); - } - function loadPaintListener() { return new Promise(function(resolve, reject) { if (typeof(window.waitForAllPaints) !== "function") { From a3f82de698d9e844f74eef6ff4a2363607fcbeb9 Mon Sep 17 00:00:00 2001 From: Fred Lin Date: Fri, 17 Nov 2017 10:53:46 +0800 Subject: [PATCH 40/77] Bug 1418167 - validate data before send for onboarding telemetry;r=Fischer Implement basic validation for new table events and columns, report the incorrect fields. The change is protected by NEW_TABLE flag so not effect the current telemetry. MozReview-Commit-ID: 78K551g0nRj --HG-- extra : rebase_source : 318c3f30154b7e58be17a16d8f8ddf7ad6045143 --- .../onboarding/OnboardingTelemetry.jsm | 360 +++++++++++++++++- 1 file changed, 353 insertions(+), 7 deletions(-) diff --git a/browser/extensions/onboarding/OnboardingTelemetry.jsm b/browser/extensions/onboarding/OnboardingTelemetry.jsm index ae3c85df6b9f..40aa2970ce21 100644 --- a/browser/extensions/onboarding/OnboardingTelemetry.jsm +++ b/browser/extensions/onboarding/OnboardingTelemetry.jsm @@ -16,6 +16,314 @@ XPCOMUtils.defineLazyModuleGetters(this, { XPCOMUtils.defineLazyServiceGetter(this, "gUUIDGenerator", "@mozilla.org/uuid-generator;1", "nsIUUIDGenerator"); +// Flag to control if we want to send new/old telemetry +// TODO: remove this flag and the legacy code in Bug 1419996 +const NEW_TABLE = false; + +// Validate the content has non-empty string +function hasString(str) { + return typeof str == "string" && str.length > 0; +} + +// Validate the content is an empty string +function isEmptyString(str) { + return typeof str == "string" && str === ""; +} + +// Validate the content is an interger +function isInteger(i) { + return Number.isInteger(i); +} + +// Validate the content is a positive interger +function isPositiveInteger(i) { + return Number.isInteger(i) && i > 0; +} + +// Validate the number is -1 +function isMinusOne(num) { + return num === -1; +} + +// Validate the category value is within the list +function isValidCategory(category) { + return ["logo-interactions", "onboarding-interactions", + "overlay-interactions", "notification-interactions"] + .includes(category); +} + +// Validate the page value is within the list +function isValidPage(page) { + return ["about:newtab", "about:home"].includes(page); +} + +// Validate the tour_type value is within the list +function isValidTourType(type) { + return ["new", "update"].includes(type); +} + +// Validate the bubble state value is within the list +function isValidBubbleState(str) { + return ["bubble", "dot", "hide"].includes(str); +} + +// Validate the logo state value is within the list +function isValidLogoState(str) { + return ["logo", "watermark"].includes(str); +} + +// Validate the notification state value is within the list +function isValidNotificationState(str) { + return ["show", "hide", "finished"].includes(str); +} + +// Validate the column must be defined per ping +function definePerPing(column) { + return function() { + throw new Error(`Must define the '${column}' validator per ping because it is not the same for all pings`); + }; +} + +// Basic validators for session pings +// client_id, locale are added by PingCentre, IP is added by server +// so no need check these column here +const BASIC_SESSION_SCHEMA = { + addon_version: hasString, + category: isValidCategory, + page: isValidPage, + parent_session_id: hasString, + root_session_id: hasString, + session_begin: isInteger, + session_end: isInteger, + session_id: hasString, + tour_type: isValidTourType, + type: hasString, +}; + +// Basic validators for event pings +// client_id, locale are added by PingCentre, IP is added by server +// so no need check these column here +const BASIC_EVENT_SCHEMA = { + addon_version: hasString, + bubble_state: definePerPing("bubble_state"), + category: isValidCategory, + current_tour_id: definePerPing("current_tour_id"), + logo_state: definePerPing("logo_state"), + notification_impression: definePerPing("notification_impression"), + notification_state: definePerPing("notification_state"), + page: isValidPage, + parent_session_id: hasString, + root_session_id: hasString, + target_tour_id: definePerPing("target_tour_id"), + timestamp: isInteger, + tour_type: isValidTourType, + type: hasString, + width: isPositiveInteger, +}; + +/** + * We send 2 kinds (firefox-onboarding-event2, firefox-onboarding-session2) of pings to ping centre + * server (they call it `topic`). The `internal` state in `topic` field means this event is used internaly to + * track states and will not send out any message. + * + * To save server space and make query easier, we track session begin and end but only send pings + * when session end. Therefore the server will get single "onboarding/overlay/notification-session" + * event which includes both `session_begin` and `session_end` timestamp. + * + * We send `session_begin` and `session_end` timestamps instead of `session_duration` diff because + * of analytics engineer's request. + */ +const EVENT_WHITELIST = { + // track when a notification appears. + "notification-appear": { + topic: "firefox-onboarding-event2", + category: "notification-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isValidBubbleState, + current_tour_id: hasString, + logo_state: isValidLogoState, + notification_impression: isPositiveInteger, + notification_state: isValidNotificationState, + target_tour_id: isEmptyString, + }), + }, + // track when a user clicks close notification button + "notification-close-button-click": { + topic: "firefox-onboarding-event2", + category: "notification-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isValidBubbleState, + current_tour_id: hasString, + logo_state: isValidLogoState, + notification_impression: isPositiveInteger, + notification_state: isValidNotificationState, + target_tour_id: hasString, + }), + }, + // track when a user clicks notification's Call-To-Action button + "notification-cta-click": { + topic: "firefox-onboarding-event2", + category: "notification-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isValidBubbleState, + current_tour_id: hasString, + logo_state: isValidLogoState, + notification_impression: isPositiveInteger, + notification_state: isValidNotificationState, + target_tour_id: hasString, + }), + }, + // track the start and end time of the notification session + "notification-session": { + topic: "firefox-onboarding-session2", + category: "notification-interactions", + validators: BASIC_SESSION_SCHEMA, + }, + // track the start of a notification + "notification-session-begin": {topic: "internal"}, + // track the end of a notification + "notification-session-end": {topic: "internal"}, + // track when a user clicks the Firefox logo + "onboarding-logo-click": { + topic: "firefox-onboarding-event2", + category: "logo-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isValidBubbleState, + current_tour_id: isEmptyString, + logo_state: isValidLogoState, + notification_impression: isMinusOne, + notification_state: isValidNotificationState, + target_tour_id: isEmptyString, + }), + }, + // track when the onboarding is not visisble due to small screen in the 1st load + "onboarding-noshow-smallscreen": { + topic: "firefox-onboarding-event2", + category: "onboarding-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isEmptyString, + current_tour_id: isEmptyString, + logo_state: isEmptyString, + notification_impression: isMinusOne, + notification_state: isEmptyString, + target_tour_id: isEmptyString, + }), + }, + // init onboarding session with session_key, page url, and tour_type + "onboarding-register-session": {topic: "internal"}, + // track the start and end time of the onboarding session + "onboarding-session": { + topic: "firefox-onboarding-session2", + category: "onboarding-interactions", + validators: BASIC_SESSION_SCHEMA, + }, + // track onboarding start time (when user loads about:home or about:newtab) + "onboarding-session-begin": {topic: "internal"}, + // track onboarding end time (when user unloads about:home or about:newtab) + "onboarding-session-end": {topic: "internal"}, + // track when a user clicks the close overlay button + "overlay-close-button-click": { + topic: "firefox-onboarding-event2", + category: "overlay-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isEmptyString, + current_tour_id: hasString, + logo_state: isEmptyString, + notification_impression: isMinusOne, + notification_state: isEmptyString, + target_tour_id: hasString, + }), + }, + // track when a user clicks outside the overlay area to end the tour + "overlay-close-outside-click": { + topic: "firefox-onboarding-event2", + category: "overlay-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isEmptyString, + current_tour_id: hasString, + logo_state: isEmptyString, + notification_impression: isMinusOne, + notification_state: isEmptyString, + target_tour_id: hasString, + }), + }, + // track when a user clicks overlay's Call-To-Action button + "overlay-cta-click": { + topic: "firefox-onboarding-event2", + category: "overlay-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isEmptyString, + current_tour_id: hasString, + logo_state: isEmptyString, + notification_impression: isMinusOne, + notification_state: isEmptyString, + target_tour_id: hasString, + }), + }, + // track when a tour is shown in the overlay + "overlay-current-tour": { + topic: "firefox-onboarding-event2", + category: "overlay-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isEmptyString, + current_tour_id: hasString, + logo_state: isEmptyString, + notification_impression: isMinusOne, + notification_state: isEmptyString, + target_tour_id: isEmptyString, + }), + }, + // track when an overlay is opened and disappeared because the window is resized too small + "overlay-disapear-resize": { + topic: "firefox-onboarding-event2", + category: "overlay-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isEmptyString, + current_tour_id: isEmptyString, + logo_state: isEmptyString, + notification_impression: isMinusOne, + notification_state: isEmptyString, + target_tour_id: isEmptyString, + }), + }, + // track when a user clicks a navigation button in the overlay + "overlay-nav-click": { + topic: "firefox-onboarding-event2", + category: "overlay-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isEmptyString, + current_tour_id: hasString, + logo_state: isEmptyString, + notification_impression: isMinusOne, + notification_state: isEmptyString, + target_tour_id: hasString, + }), + }, + // track the start and end time of the overlay session + "overlay-session": { + topic: "firefox-onboarding-session2", + category: "overlay-interactions", + validators: BASIC_SESSION_SCHEMA, + }, + // track the start of an overlay session + "overlay-session-begin": {topic: "internal"}, + // track the end of an overlay session + "overlay-session-end": {topic: "internal"}, + // track when a user clicks 'Skip Tour' button in the overlay + "overlay-skip-tour": { + topic: "firefox-onboarding-event2", + category: "overlay-interactions", + validators: Object.assign({}, BASIC_EVENT_SCHEMA, { + bubble_state: isEmptyString, + current_tour_id: hasString, + logo_state: isEmptyString, + notification_impression: isMinusOne, + notification_state: isEmptyString, + target_tour_id: isEmptyString, + }), + }, +}; + /** * We send 2 kinds (firefox-onboarding-event, firefox-onboarding-session) of pings to ping centre * server (they call it `topic`). The `internal` state in `topic` field means this event is used internaly to @@ -28,7 +336,7 @@ XPCOMUtils.defineLazyServiceGetter(this, "gUUIDGenerator", * We send `session_begin` and `session_end` timestamps instead of `session_duration` diff because * of analytics engineer's request. */ -const EVENT_WHITELIST = { +const OLD_EVENT_WHITELIST = { // track when click the notification close button "notification-close-button-click": {topic: "firefox-onboarding-event", category: "notification-interactions"}, // track when click the notification Call-To-Action button @@ -88,11 +396,18 @@ let OnboardingTelemetry = { }, process(data) { - let { event, session_key } = data; + if (NEW_TABLE) { + throw new Error("Will implement in bug 1413830"); + } else { + this.processOldPings(data); + } + }, - let topic = EVENT_WHITELIST[event] && EVENT_WHITELIST[event].topic; + processOldPings(data) { + let { event, session_key } = data; + let topic = OLD_EVENT_WHITELIST[event] && OLD_EVENT_WHITELIST[event].topic; if (!topic) { - throw new Error(`ping-centre doesn't know ${event}, only knows ${Object.keys(EVENT_WHITELIST)}`); + throw new Error(`ping-centre doesn't know ${event}, only knows ${Object.keys(OLD_EVENT_WHITELIST)}`); } if (event === "onboarding-register-session") { @@ -116,12 +431,12 @@ let OnboardingTelemetry = { break; } } else { - this._send(topic, data); + this._sendOldPings(topic, data); } }, // send out pings by topic - _send(topic, data) { + _sendOldPings(topic, data) { let { addon_version, } = this.state; @@ -138,7 +453,7 @@ let OnboardingTelemetry = { session_id, tour_type, } = this.state.sessions[session_key]; - let category = EVENT_WHITELIST[event].category; + let category = OLD_EVENT_WHITELIST[event].category; // the field is used to identify how user open the overlay (through default logo or watermark), // the number of open from notification can be retrieved via `notification-cta-click` event let tour_source = Services.prefs.getStringPref("browser.onboarding.state", "default"); @@ -203,5 +518,36 @@ let OnboardingTelemetry = { }, {filter: ONBOARDING_ID}); break; } + }, + + // validate data sanitation and make sure correct ping params are sent + _validatePayload(payload) { + let event = payload.type; + let { validators } = EVENT_WHITELIST[event]; + if (!validators) { + throw new Error(`Event ${event} without validators should not be sent.`); + } + let validatorKeys = Object.keys(validators); + // Not send with undefined column + if (Object.keys(payload).length > validatorKeys.length) { + throw new Error(`Event ${event} want to send more columns than expect, should not be sent.`); + } + let results = {}; + let failed = false; + // Per column validation + for (let key of validatorKeys) { + if (payload[key] !== undefined) { + results[key] = validators[key](payload[key]); + if (!results[key]) { + failed = true; + } + } else { + results[key] = false; + failed = true; + } + } + if (failed) { + throw new Error(`Event ${event} contains incorrect data: ${JSON.stringify(results)}, should not be sent.`); + } } }; From 0d1d9fec7b55712d16be3bda8ea3618bc2f84e8d Mon Sep 17 00:00:00 2001 From: Phil Ringnalda Date: Sun, 26 Nov 2017 23:32:41 -0800 Subject: [PATCH 41/77] Backed out 2 changesets (bug 1418433) for unexpected "why should we have flushed style again?" assertion failures Backed out changeset 761f84b8edb0 (bug 1418433) Backed out changeset 436723f33b10 (bug 1418433) MozReview-Commit-ID: 84FAoZcyQjU --HG-- extra : rebase_source : 5fbba91a8b80fbb25f57f4a6d8b521c8feb7f89a --- layout/style/ServoStyleSet.cpp | 5 ----- layout/style/test/test_computed_style.html | 22 +--------------------- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/layout/style/ServoStyleSet.cpp b/layout/style/ServoStyleSet.cpp index 2db96d969c94..3993d06e4026 100644 --- a/layout/style/ServoStyleSet.cpp +++ b/layout/style/ServoStyleSet.cpp @@ -1330,11 +1330,6 @@ ServoStyleSet::UpdateStylist() mBindingManager->UpdateBoundContentBindingsForServo(mPresContext); } - // We need to invalidate cached style in getComputedStyle for undisplayed - // elements, since we don't know if any of the style sheet change that we - // do would affect undisplayed elements. - mPresContext->RestyleManager()->AsServo()->IncrementUndisplayedRestyleGeneration(); - mStylistState = StylistState::NotDirty; } diff --git a/layout/style/test/test_computed_style.html b/layout/style/test/test_computed_style.html index 37f0aa3c733c..b1d37df75ce0 100644 --- a/layout/style/test/test_computed_style.html +++ b/layout/style/test/test_computed_style.html @@ -4,12 +4,12 @@ Test for miscellaneous computed style issues - Mozilla Bug

 
 
From deff0f1866601b3169427fe9e6b308e9347176fb Mon Sep 17 00:00:00 2001 From: Mantaroh Yoshinaga Date: Mon, 27 Nov 2017 09:33:53 +0900 Subject: [PATCH 42/77] Bug 1419226 - Part 1.Change observing target window of MozAfterPaint. r=mconley Previous code, print preview waits for content window's MozAfterPaint. However gecko prevents send MozAfterPaint to content window[1]. So this code will not work correctly. However, software timer of firing MozAfterPaint ran this code.[2] This patch will * Change the observing content window to chrome window. * Add timer of MozAfterPaint event in order to ensure this event even if display list invalidation doesn't invalidate. Gecko create this timer in nsPresContext previously[2], but this bug will remove it [1] https://searchfox.org/mozilla-central/rev/919dce54f43356c22d6ff6b81c07ef412b1bf933/layout/base/nsPresContext.cpp#2452 [2] https://searchfox.org/mozilla-central/rev/919dce54f43356c22d6ff6b81c07ef412b1bf933/layout/base/nsPresContext.cpp#3466-3472 MozReview-Commit-ID: GcuKPjn0qhc --HG-- extra : rebase_source : 95a51df300039f19ce6d99feb11ed0aa2f33920f --- toolkit/content/browser-content.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/toolkit/content/browser-content.js b/toolkit/content/browser-content.js index c686f86476a5..074185a0e7f8 100644 --- a/toolkit/content/browser-content.js +++ b/toolkit/content/browser-content.js @@ -591,15 +591,21 @@ var Printing = { onStateChange(webProgress, req, flags, status) { if (flags & Ci.nsIWebProgressListener.STATE_STOP) { webProgress.removeProgressListener(webProgressListener); - let domUtils = content.QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIDOMWindowUtils); + let domUtils = contentWindow.QueryInterface(Ci.nsIInterfaceRequestor) + .getInterface(Ci.nsIDOMWindowUtils); // Here we tell the parent that we have parsed the document successfully // using ReaderMode primitives and we are able to enter on preview mode. if (domUtils.isMozAfterPaintPending) { - addEventListener("MozAfterPaint", function onPaint() { + let onPaint = function() { removeEventListener("MozAfterPaint", onPaint); sendAsyncMessage("Printing:Preview:ReaderModeReady"); - }); + }; + contentWindow.addEventListener("MozAfterPaint", onPaint); + // This timer need when display list invalidation doesn't invalidate. + setTimeout(() => { + removeEventListener("MozAfterPaint", onPaint); + sendAsyncMessage("Printing:Preview:ReaderModeReady"); + }, 100); } else { sendAsyncMessage("Printing:Preview:ReaderModeReady"); } From 1256ba5b9b8051ac0b56cf9febf86f583f58ed25 Mon Sep 17 00:00:00 2001 From: Mantaroh Yoshinaga Date: Mon, 27 Nov 2017 09:33:54 +0900 Subject: [PATCH 43/77] Bug 1419226 - Part 2. Remove notify did paint timer. r=mattwoodrow This EnsureEventualDidPaintEvent() creates software timer. But this timer will bring several intermittent tests fail. For example, if we want to check the compositor animation property. If test receives MozAfterPaint of the timer, there doesn't have animation property on compositor, as result of this, a test will fail. I think we don't need to create this timer each time since current painting is happening synchronously under the refresh driver. [1] https://searchfox.org/mozilla-central/rev/919dce54f43356c22d6ff6b81c07ef412b1bf933/layout/base/nsPresContext.cpp#189 MozReview-Commit-ID: Hb7UEITer5t --HG-- extra : rebase_source : 7aee1eced01813907ab0c3e5dff80e90261c0815 --- layout/base/nsPresContext.cpp | 79 ++--------------------------------- layout/base/nsPresContext.h | 18 -------- 2 files changed, 3 insertions(+), 94 deletions(-) diff --git a/layout/base/nsPresContext.cpp b/layout/base/nsPresContext.cpp index d864e26a936a..e4d1f274054c 100644 --- a/layout/base/nsPresContext.cpp +++ b/layout/base/nsPresContext.cpp @@ -187,6 +187,7 @@ nsPresContext::IsDOMPaintEventPending() // fired, we record an empty invalidation in case display list // invalidation doesn't invalidate anything further. NotifyInvalidation(drpc->mRefreshDriver->LastTransactionId() + 1, nsRect(0, 0, 0, 0)); + NS_ASSERTION(mFireAfterPaintEvents, "Why aren't we planning to fire the event?"); return true; } @@ -431,9 +432,6 @@ NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_LAST_RELEASE(nsPresContext, LastRelease()) void nsPresContext::LastRelease() { - if (IsRoot()) { - static_cast(this)->CancelAllDidPaintTimers(); - } if (mMissingFonts) { mMissingFonts->Clear(); } @@ -1091,9 +1089,6 @@ nsPresContext::DetachShell() // Have to cancel our plugin geometry timer, because the // callback for that depends on a non-null presshell. thisRoot->CancelApplyPluginGeometryTimer(); - - // The did-paint timer also depends on a non-null pres shell. - thisRoot->CancelAllDidPaintTimers(); } } @@ -2604,24 +2599,12 @@ nsPresContext::NotifyInvalidation(uint64_t aTransactionId, const nsRect& aRect) { MOZ_ASSERT(GetContainerWeak(), "Invalidation in detached pres context"); - // If there is no paint event listener, then we don't need to fire - // the asynchronous event. We don't even need to record invalidation. - // MayHavePaintEventListener is pretty cheap and we could make it - // even cheaper by providing a more efficient - // nsPIDOMWindow::GetListenerManager. - nsPresContext* pc; for (pc = this; pc; pc = pc->GetParentPresContext()) { if (pc->mFireAfterPaintEvents) break; pc->mFireAfterPaintEvents = true; } - if (!pc) { - nsRootPresContext* rpc = GetRootPresContext(); - if (rpc) { - rpc->EnsureEventualDidPaintEvent(aTransactionId); - } - } TransactionInvalidations* transaction = nullptr; for (TransactionInvalidations& t : mTransactions) { @@ -2743,12 +2726,8 @@ void nsPresContext::NotifyDidPaintForSubtree(uint64_t aTransactionId, const mozilla::TimeStamp& aTimeStamp) { - if (IsRoot()) { - static_cast(this)->CancelDidPaintTimers(aTransactionId); - - if (!mFireAfterPaintEvents) { - return; - } + if (IsRoot() && !mFireAfterPaintEvents) { + return; } if (!PresShell()->IsVisible() && !mFireAfterPaintEvents) { @@ -3197,14 +3176,12 @@ nsRootPresContext::~nsRootPresContext() { NS_ASSERTION(mRegisteredPlugins.Count() == 0, "All plugins should have been unregistered"); - CancelAllDidPaintTimers(); CancelApplyPluginGeometryTimer(); } /* virtual */ void nsRootPresContext::Detach() { - CancelAllDidPaintTimers(); // XXXmats maybe also CancelApplyPluginGeometryTimer(); ? nsPresContext::Detach(); } @@ -3459,55 +3436,6 @@ nsRootPresContext::CollectPluginGeometryUpdates(LayerManager* aLayerManager) #endif // #ifndef XP_MACOSX } -void -nsRootPresContext::EnsureEventualDidPaintEvent(uint64_t aTransactionId) -{ - for (NotifyDidPaintTimer& t : mNotifyDidPaintTimers) { - if (t.mTransactionId == aTransactionId) { - return; - } - } - - nsCOMPtr timer; - RefPtr self = this; - nsresult rv = NS_NewTimerWithCallback( - getter_AddRefs(timer), - NewNamedTimerCallback([self, aTransactionId](){ - nsAutoScriptBlocker blockScripts; - self->NotifyDidPaintForSubtree(aTransactionId); - }, "NotifyDidPaintForSubtree"), 100, nsITimer::TYPE_ONE_SHOT, - Document()->EventTargetFor(TaskCategory::Other)); - - if (NS_SUCCEEDED(rv)) { - NotifyDidPaintTimer* t = mNotifyDidPaintTimers.AppendElement(); - t->mTransactionId = aTransactionId; - t->mTimer = timer; - } -} - -void -nsRootPresContext::CancelDidPaintTimers(uint64_t aTransactionId) -{ - uint32_t i = 0; - while (i < mNotifyDidPaintTimers.Length()) { - if (mNotifyDidPaintTimers[i].mTransactionId <= aTransactionId) { - mNotifyDidPaintTimers[i].mTimer->Cancel(); - mNotifyDidPaintTimers.RemoveElementAt(i); - } else { - i++; - } - } -} - -void -nsRootPresContext::CancelAllDidPaintTimers() -{ - for (uint32_t i = 0; i < mNotifyDidPaintTimers.Length(); i++) { - mNotifyDidPaintTimers[i].mTimer->Cancel(); - } - mNotifyDidPaintTimers.Clear(); -} - void nsRootPresContext::AddWillPaintObserver(nsIRunnable* aRunnable) { @@ -3540,7 +3468,6 @@ nsRootPresContext::SizeOfExcludingThis(MallocSizeOf aMallocSizeOf) const // Measurement of the following members may be added later if DMD finds it is // worthwhile: - // - mNotifyDidPaintTimer // - mRegisteredPlugins // - mWillPaintObservers // - mWillPaintFallbackEvent diff --git a/layout/base/nsPresContext.h b/layout/base/nsPresContext.h index d2b57cbe58dc..ad93d8133dfb 100644 --- a/layout/base/nsPresContext.h +++ b/layout/base/nsPresContext.h @@ -1545,23 +1545,6 @@ public: virtual ~nsRootPresContext(); virtual void Detach() override; - /** - * Ensure that NotifyDidPaintForSubtree is eventually called on this - * object after a timeout. - */ - void EnsureEventualDidPaintEvent(uint64_t aTransactionId); - - /** - * Cancels any pending eventual did paint timer for transaction - * ids up to and including aTransactionId. - */ - void CancelDidPaintTimers(uint64_t aTransactionId); - - /** - * Cancel all pending eventual did paint timers. - */ - void CancelAllDidPaintTimers(); - /** * Registers a plugin to receive geometry updates (position and clip * region) so it can update its widget. @@ -1669,7 +1652,6 @@ protected: uint64_t mTransactionId; nsCOMPtr mTimer; }; - AutoTArray mNotifyDidPaintTimers; nsCOMPtr mApplyPluginGeometryTimer; nsTHashtable > mRegisteredPlugins; From 10c019403e6ff8e3f9093c0ffe980f018e0e84e8 Mon Sep 17 00:00:00 2001 From: Mantaroh Yoshinaga Date: Mon, 27 Nov 2017 12:54:49 +0900 Subject: [PATCH 44/77] Bug 1419226 - Part 3.Wait for MozAfterPaint instead of waiting for frames on file_deferred_start.html . r=hiro This patch will : * Create test div element after waiting for document load, then wait for painting after it. * Change to waiting for MozAfterPaint event without workaround of waiting for excessive frames. MozReview-Commit-ID: 6Ytxln3tJi4 --HG-- extra : rebase_source : 53b5f038ec95dd47b76d4a0bcf8dfd964bff451d --- .../test/mozilla/file_deferred_start.html | 55 +++++++------------ 1 file changed, 20 insertions(+), 35 deletions(-) diff --git a/dom/animation/test/mozilla/file_deferred_start.html b/dom/animation/test/mozilla/file_deferred_start.html index 6af6455826a7..922fbf5d6051 100644 --- a/dom/animation/test/mozilla/file_deferred_start.html +++ b/dom/animation/test/mozilla/file_deferred_start.html @@ -32,9 +32,6 @@ function waitForPaints() { } promise_test(function(t) { - var div = addDiv(t); - var cs = getComputedStyle(div); - // Test that empty animations actually start. // // Normally we tie the start of animations to when their first frame of @@ -43,24 +40,30 @@ promise_test(function(t) { // that doesn't render or is offscreen) we want to make sure they still // start. // - // Before we start, wait for the document to finish loading. This is because - // during loading we will have other paint events taking place which might, - // by luck, happen to trigger animations that otherwise would not have been - // triggered, leading to false positives. + // Before we start, wait for the document to finish loading, then create + // div element, and wait for painting. This is because during loading we will + // have other paint events taking place which might, by luck, happen to + // trigger animations that otherwise would not have been triggered, leading to + // false positives. // // As a result, it's better to wait until we have a more stable state before // continuing. + var div; var promiseCallbackDone = false; return waitForDocLoad().then(function() { + div = addDiv(t); + + return waitForPaints(); + }).then(function() { div.style.animation = 'empty 1000s'; var animation = div.getAnimations()[0]; - return animation.ready.then(function() { + animation.ready.then(function() { promiseCallbackDone = true; }).catch(function() { assert_unreached('ready promise was rejected'); }); - }).then(function() { + // We need to wait for up to three frames. This is because in some // cases it can take up to two frames for the initial layout // to take place. Even after that happens we don't actually resolve the @@ -92,27 +95,14 @@ promise_test(function(t) { // As with the above test, any stray paints can cause this test to produce // a false negative (that is, pass when it should fail). To avoid this we - // first wait for the document to load, then wait until it is idle, then wait - // for paints and only then do we commence the test. Even doing that, this - // test can sometimes pass when it should not due to a stray paint. Most of - // the time, however, it will correctly fail so hopefully even if we do - // occasionally produce a false negative on one platform, another platform - // will fail as expected. - return waitForDocLoad().then(() => waitForIdle()) - .then(() => waitForPaints()) - .then(() => { + // wait for paints and only then do we commence the test. + return waitForPaints().then(() => { div.animate({ transform: [ 'translate(0px)', 'translate(100px)' ] }, { duration: 400 * MS_PER_SEC, delay: -200 * MS_PER_SEC }); - // TODO: Current waitForPaint() will not wait for MozAfterPaint in this - // case(Bug 1341294), so this waiting code is workaround for it. - // This waitForFrame() uses Promise, but bug 1193394 will be using same - // handling of microtask, so if landed bug 1193394 this test might be - // failure since this promise will resolve in same tick of Element.animate. - return waitForFrame(); - }).then(() => waitForPaints()) - .then(() => { + return waitForPaints(); + }).then(() => { const transformStr = SpecialPowers.DOMWindowUtils.getOMTAStyle(div, 'transform'); const translateX = getTranslateXFromTransform(transformStr); @@ -144,21 +134,16 @@ promise_test(function(t) { const div = addDiv(t, { class: 'target' }); - // Wait for idle state (see notes in previous test). - return waitForDocLoad().then(() => waitForIdle()) - .then(() => waitForPaints()) - .then(() => { + // Wait for the document to load and painting (see notes in previous test). + return waitForPaints().then(() => { const animation = div.animate({ transform: [ 'translate(0px)', 'translate(100px)' ] }, 200 * MS_PER_SEC); animation.currentTime = 100 * MS_PER_SEC; animation.playbackRate = 0.1; - // As the above test case, we should fix bug 1341294 before bug 1193394 - // lands. - return waitForFrame(); - }).then(() => waitForPaints()) - .then(() => { + return waitForPaints(); + }).then(() => { const transformStr = SpecialPowers.DOMWindowUtils.getOMTAStyle(div, 'transform'); const translateX = getTranslateXFromTransform(transformStr); From 8f5385f7029078a65d940a54514c78defc534af2 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Fri, 24 Nov 2017 17:38:32 +0100 Subject: [PATCH 45/77] Bug 1408938 - Enable and rename browser_webconsole_history.js; r=nchevobbe MozReview-Commit-ID: GU4Z3ghCTmv --HG-- rename : devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_history.js => devtools/client/webconsole/new-console-output/test/mochitest/browser_jsterm_history.js extra : rebase_source : 704f7c2de6a25cb3b762592d60f9ed6d3c4819d9 --- .../test/mochitest/browser.ini | 3 +- .../test/mochitest/browser_jsterm_history.js | 56 +++++++++++++++++ .../mochitest/browser_webconsole_history.js | 62 ------------------- 3 files changed, 57 insertions(+), 64 deletions(-) create mode 100644 devtools/client/webconsole/new-console-output/test/mochitest/browser_jsterm_history.js delete mode 100644 devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_history.js diff --git a/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini b/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini index 14c39436edd4..16bac797d9f1 100644 --- a/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini +++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini @@ -212,6 +212,7 @@ skip-if = true # Bug 1403188 [browser_jsterm_completion.js] [browser_jsterm_copy_command.js] [browser_jsterm_dollar.js] +[browser_jsterm_history.js] [browser_jsterm_history_persist.js] [browser_jsterm_inspect.js] [browser_jsterm_no_autocompletion_on_defined_variables.js] @@ -290,8 +291,6 @@ skip-if = true # Bug 1404392 [browser_webconsole_highlighter_console_helper.js] skip-if = true # Bug 1404853 # old console skip-if = true # Requires direct access to content nodes -[browser_webconsole_history.js] -skip-if = true # Bug 1408938 [browser_webconsole_history_arrow_keys.js] skip-if = true # Bug 1408939 [browser_webconsole_history_nav.js] diff --git a/devtools/client/webconsole/new-console-output/test/mochitest/browser_jsterm_history.js b/devtools/client/webconsole/new-console-output/test/mochitest/browser_jsterm_history.js new file mode 100644 index 000000000000..a86b82c8fb09 --- /dev/null +++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser_jsterm_history.js @@ -0,0 +1,56 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +// Tests the console history feature accessed via the up and down arrow keys. + +"use strict"; + +const TEST_URI = "data:text/html;charset=UTF-8,test"; +const HISTORY_BACK = -1; +const HISTORY_FORWARD = 1; +const COMMANDS = ["document", "window", "window.location"]; + +add_task(async function () { + const { jsterm } = await openNewTabAndConsole(TEST_URI); + const { inputNode } = jsterm; + jsterm.clearOutput(); + + for (let command of COMMANDS) { + info(`Executing command ${command}`); + jsterm.setInputValue(command); + await jsterm.execute(); + } + + for (let x = COMMANDS.length - 1; x != -1; x--) { + jsterm.historyPeruse(HISTORY_BACK); + is(inputNode.value, COMMANDS[x], "check history previous idx:" + x); + } + + jsterm.historyPeruse(HISTORY_BACK); + is(inputNode.value, COMMANDS[0], "test that item is still index 0"); + + jsterm.historyPeruse(HISTORY_BACK); + is(inputNode.value, COMMANDS[0], "test that item is still still index 0"); + + for (let i = 1; i < COMMANDS.length; i++) { + jsterm.historyPeruse(HISTORY_FORWARD); + is(inputNode.value, COMMANDS[i], "check history next idx:" + i); + } + + jsterm.historyPeruse(HISTORY_FORWARD); + is(inputNode.value, "", "check input is empty again"); + + // Simulate pressing Arrow_Down a few times and then if Arrow_Up shows + // the previous item from history again. + jsterm.historyPeruse(HISTORY_FORWARD); + jsterm.historyPeruse(HISTORY_FORWARD); + jsterm.historyPeruse(HISTORY_FORWARD); + + is(inputNode.value, "", "check input is still empty"); + + let idxLast = COMMANDS.length - 1; + jsterm.historyPeruse(HISTORY_BACK); + is(inputNode.value, COMMANDS[idxLast], "check history next idx:" + idxLast); +}); diff --git a/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_history.js b/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_history.js deleted file mode 100644 index 5ae709a4b7cb..000000000000 --- a/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_history.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ - -// Tests the console history feature accessed via the up and down arrow keys. - -"use strict"; - -const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" + - "test/test-console.html"; - -// Constants used for defining the direction of JSTerm input history navigation. -const HISTORY_BACK = -1; -const HISTORY_FORWARD = 1; - -add_task(function* () { - yield loadTab(TEST_URI); - let hud = yield openConsole(); - hud.jsterm.clearOutput(); - - let jsterm = hud.jsterm; - let input = jsterm.inputNode; - - let executeList = ["document", "window", "window.location"]; - - for (let item of executeList) { - input.value = item; - yield jsterm.execute(); - } - - for (let x = executeList.length - 1; x != -1; x--) { - jsterm.historyPeruse(HISTORY_BACK); - is(input.value, executeList[x], "check history previous idx:" + x); - } - - jsterm.historyPeruse(HISTORY_BACK); - is(input.value, executeList[0], "test that item is still index 0"); - - jsterm.historyPeruse(HISTORY_BACK); - is(input.value, executeList[0], "test that item is still still index 0"); - - for (let i = 1; i < executeList.length; i++) { - jsterm.historyPeruse(HISTORY_FORWARD); - is(input.value, executeList[i], "check history next idx:" + i); - } - - jsterm.historyPeruse(HISTORY_FORWARD); - is(input.value, "", "check input is empty again"); - - // Simulate pressing Arrow_Down a few times and then if Arrow_Up shows - // the previous item from history again. - jsterm.historyPeruse(HISTORY_FORWARD); - jsterm.historyPeruse(HISTORY_FORWARD); - jsterm.historyPeruse(HISTORY_FORWARD); - - is(input.value, "", "check input is still empty"); - - let idxLast = executeList.length - 1; - jsterm.historyPeruse(HISTORY_BACK); - is(input.value, executeList[idxLast], "check history next idx:" + idxLast); -}); From 32d89118c35e24f126af905617ec03e7962f3c89 Mon Sep 17 00:00:00 2001 From: Masayuki Nakano Date: Fri, 24 Nov 2017 23:17:38 +0900 Subject: [PATCH 46/77] Bug 1420415 - TextEditor::CreateBRImpl() needs to make pointToInsertBrNode store mOffset before calling EditorBase::CreateNode() r=m_kato When TextEditor::CreateBRImpl() splits a text node before inserting new
element, it initializes pointToInsertBrNode only with the right text node. Then, it refers its Offset() after inserting new
node before the point. Therefore, the offset is computed with the new DOM tree. So, adding 1 to the offset is redundant only in this case. So, before calling CreateNode(), it needs to make pointToInsertBrNode store offset with calling its Offset(). Note that this ugly code will be replaced with patches for bug 1408227. Additionally, this doesn't use AutoEditorDOMPointChildInvalidator because it's not available in 58 but we need to uplift this patch. Finally, I'm not sure how to check this in automated tests. Therefore, this patch doesn't include automated tests. MozReview-Commit-ID: IaQBonoGawR --HG-- extra : rebase_source : a89559932f27d98a02baf3e207c6be3c2a545aad --- editor/libeditor/TextEditor.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/editor/libeditor/TextEditor.cpp b/editor/libeditor/TextEditor.cpp index c0a3e31862e6..aa8ac98ce407 100644 --- a/editor/libeditor/TextEditor.cpp +++ b/editor/libeditor/TextEditor.cpp @@ -466,6 +466,9 @@ TextEditor::CreateBRImpl(nsCOMPtr* aInOutParent, pointToInsertBrNode.Set(node); Unused << newLeftNode; } + // Lock the offset of pointToInsertBrNode because it'll be referred after + // inserting a new
node before it. + Unused << pointToInsertBrNode.Offset(); // create br brNode = CreateNode(nsGkAtoms::br, pointToInsertBrNode); if (NS_WARN_IF(!brNode)) { From 1d5ed02880327d7cdc1f59692a4f7fe937a63719 Mon Sep 17 00:00:00 2001 From: Mark Banner Date: Wed, 22 Nov 2017 13:35:52 +0000 Subject: [PATCH 47/77] Bug 1417944 - Enable ESLint rule mozilla/use-services for toolkit/mozapps/extensions. r=aswan MozReview-Commit-ID: 6nK45TknN9x --HG-- extra : rebase_source : 2bbe6436db99da969d1630b05451c47f6b7ba296 --- toolkit/mozapps/extensions/AddonManager.jsm | 7 +-- .../mozapps/extensions/amContentHandler.js | 3 +- .../mozapps/extensions/content/extensions.js | 4 +- .../mozapps/extensions/content/newaddon.js | 4 +- .../extensions/content/xpinstallConfirm.js | 11 ++-- .../extensions/internal/AddonRepository.jsm | 4 +- .../internal/AddonUpdateChecker.jsm | 5 +- .../extensions/internal/PluginProvider.jsm | 8 +-- .../mozapps/extensions/nsBlocklistService.js | 56 ++++++------------- .../browser_addonrepository_performance.js | 6 +- .../test/browser/browser_bug567127.js | 8 +-- .../test/browser/browser_dragdrop.js | 12 +--- .../extensions/test/browser/browser_list.js | 21 +++---- .../test/mochitest/test_bug687194.html | 10 ++-- .../xpcshell/test_LightweightThemeManager.js | 10 ++-- .../test/xpcshell/test_blocklist_prefs.js | 29 ++++------ .../test/xpcshell/test_bug393285.js | 35 ++++++------ .../test/xpcshell/test_bug406118.js | 11 ++-- .../test/xpcshell/test_bug430120.js | 10 +--- .../test/xpcshell/test_bug449027.js | 3 +- .../test/xpcshell/test_bug455906.js | 26 ++++----- .../test/xpcshell/test_bug514327_2.js | 3 +- .../test/xpcshell/test_bug514327_3.js | 4 +- .../test/xpcshell/test_gfxBlacklist_Device.js | 8 +-- .../xpcshell/test_gfxBlacklist_DriverNew.js | 8 +-- .../test_gfxBlacklist_Equal_DriverNew.js | 8 +-- .../test_gfxBlacklist_Equal_DriverOld.js | 8 +-- .../xpcshell/test_gfxBlacklist_Equal_OK.js | 8 +-- .../test_gfxBlacklist_GTE_DriverOld.js | 8 +-- .../test/xpcshell/test_gfxBlacklist_GTE_OK.js | 8 +-- .../test_gfxBlacklist_No_Comparison.js | 8 +-- .../test/xpcshell/test_gfxBlacklist_OK.js | 8 +-- .../test/xpcshell/test_gfxBlacklist_OS.js | 8 +-- .../test_gfxBlacklist_OSVersion_match.js | 12 +--- ...cklist_OSVersion_mismatch_DriverVersion.js | 12 +--- ...xBlacklist_OSVersion_mismatch_OSVersion.js | 12 +--- .../test/xpcshell/test_gfxBlacklist_Vendor.js | 8 +-- .../xpcshell/test_gfxBlacklist_Version.js | 8 +-- .../test/xpcshell/test_gfxBlacklist_prefs.js | 16 +----- .../test/xpcshell/test_overrideblocklist.js | 55 +++++++++--------- .../test/xpcshell/test_pluginBlocklistCtp.js | 12 ++-- .../extensions/test/xpcshell/test_proxies.js | 7 +-- .../extensions/test/xpcshell/test_startup.js | 4 +- .../extensions/test/xpinstall/browser_auth.js | 4 +- .../test/xpinstall/browser_cookies2.js | 11 ++-- .../test/xpinstall/browser_cookies3.js | 11 ++-- .../test/xpinstall/browser_cookies4.js | 12 ++-- 47 files changed, 176 insertions(+), 378 deletions(-) diff --git a/toolkit/mozapps/extensions/AddonManager.jsm b/toolkit/mozapps/extensions/AddonManager.jsm index 9a3233b66238..e7bedae30a86 100644 --- a/toolkit/mozapps/extensions/AddonManager.jsm +++ b/toolkit/mozapps/extensions/AddonManager.jsm @@ -14,6 +14,7 @@ const Cu = Components.utils; // wouldn't be reflected in Services.appinfo anymore, as the lazy getter // underlying it would have been initialized if we used it here. if ("@mozilla.org/xre/app-info;1" in Cc) { + // eslint-disable-next-line mozilla/use-services let runtime = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime); if (runtime.processType != Ci.nsIXULRuntime.PROCESS_TYPE_DEFAULT) { // Refuse to run in child processes. @@ -2860,10 +2861,8 @@ var AddonManagerInternal = { args.wrappedJSObject = args; try { - Cc["@mozilla.org/base/telemetry;1"]. - getService(Ci.nsITelemetry). - getHistogramById("SECURITY_UI"). - add(Ci.nsISecurityUITelemetry.WARNING_CONFIRM_ADDON_INSTALL); + Services.telemetry.getHistogramById("SECURITY_UI") + .add(Ci.nsISecurityUITelemetry.WARNING_CONFIRM_ADDON_INSTALL); let parentWindow = null; if (browser) { // Find the outer browser diff --git a/toolkit/mozapps/extensions/amContentHandler.js b/toolkit/mozapps/extensions/amContentHandler.js index f73ca773c3a7..6b2097aed6c5 100644 --- a/toolkit/mozapps/extensions/amContentHandler.js +++ b/toolkit/mozapps/extensions/amContentHandler.js @@ -91,8 +91,7 @@ amContentHandler.prototype = { log(aMsg) { let msg = "amContentHandler.js: " + (aMsg.join ? aMsg.join("") : aMsg); - Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService). - logStringMessage(msg); + Services.console.logStringMessage(msg); dump(msg + "\n"); } }; diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js index fd76ef7b28ed..7eaa5f527753 100644 --- a/toolkit/mozapps/extensions/content/extensions.js +++ b/toolkit/mozapps/extensions/content/extensions.js @@ -956,9 +956,7 @@ var gViewController = { if (cancelQuit.data) return; // somebody canceled our quit request - let appStartup = Cc["@mozilla.org/toolkit/app-startup;1"]. - getService(Ci.nsIAppStartup); - appStartup.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart); + Services.startup.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart); } }, diff --git a/toolkit/mozapps/extensions/content/newaddon.js b/toolkit/mozapps/extensions/content/newaddon.js index f0a954ac9609..b9b3c465856d 100644 --- a/toolkit/mozapps/extensions/content/newaddon.js +++ b/toolkit/mozapps/extensions/content/newaddon.js @@ -124,9 +124,7 @@ function restartClicked() { window.close(); - let appStartup = Components.classes["@mozilla.org/toolkit/app-startup;1"]. - getService(Components.interfaces.nsIAppStartup); - appStartup.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart); + Services.startup.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart); } function cancelClicked() { diff --git a/toolkit/mozapps/extensions/content/xpinstallConfirm.js b/toolkit/mozapps/extensions/content/xpinstallConfirm.js index f3068327d1c1..046d61608ce9 100644 --- a/toolkit/mozapps/extensions/content/xpinstallConfirm.js +++ b/toolkit/mozapps/extensions/content/xpinstallConfirm.js @@ -8,6 +8,7 @@ var XPInstallConfirm = {}; XPInstallConfirm.init = function() { Components.utils.import("resource://gre/modules/AddonManager.jsm"); + Components.utils.import("resource://gre/modules/Services.jsm"); var _installCountdown; var _installCountdownInterval; @@ -30,9 +31,7 @@ XPInstallConfirm.init = function() { var _installCountdownLength = 5; try { - var prefs = Components.classes["@mozilla.org/preferences-service;1"] - .getService(Components.interfaces.nsIPrefBranch); - var delay_in_milliseconds = prefs.getIntPref("security.dialog_enable_delay"); + var delay_in_milliseconds = Services.prefs.getIntPref("security.dialog_enable_delay"); _installCountdownLength = Math.round(delay_in_milliseconds / 500); } catch (ex) { } @@ -167,10 +166,8 @@ XPInstallConfirm.init = function() { }; XPInstallConfirm.onOK = function() { - Components.classes["@mozilla.org/base/telemetry;1"]. - getService(Components.interfaces.nsITelemetry). - getHistogramById("SECURITY_UI"). - add(Components.interfaces.nsISecurityUITelemetry.WARNING_CONFIRM_ADDON_INSTALL_CLICK_THROUGH); + Services.telemetry.getHistogramById("SECURITY_UI") + .add(Components.interfaces.nsISecurityUITelemetry.WARNING_CONFIRM_ADDON_INSTALL_CLICK_THROUGH); // Perform the install or cancel after the window has unloaded XPInstallConfirm._installOK = true; return true; diff --git a/toolkit/mozapps/extensions/internal/AddonRepository.jsm b/toolkit/mozapps/extensions/internal/AddonRepository.jsm index 7307fb3927c5..896a96974cb8 100644 --- a/toolkit/mozapps/extensions/internal/AddonRepository.jsm +++ b/toolkit/mozapps/extensions/internal/AddonRepository.jsm @@ -772,9 +772,7 @@ this.AddonRepository = { if (type == Services.prefs.PREF_STRING) { pref = PREF_GETADDONS_BYIDS_PERFORMANCE; - let startupInfo = Cc["@mozilla.org/toolkit/app-startup;1"]. - getService(Ci.nsIAppStartup). - getStartupInfo(); + let startupInfo = Services.startup.getStartupInfo(); params.TIME_MAIN = ""; params.TIME_FIRST_PAINT = ""; diff --git a/toolkit/mozapps/extensions/internal/AddonUpdateChecker.jsm b/toolkit/mozapps/extensions/internal/AddonUpdateChecker.jsm index 7b7719758d57..6ddf18350128 100644 --- a/toolkit/mozapps/extensions/internal/AddonUpdateChecker.jsm +++ b/toolkit/mozapps/extensions/internal/AddonUpdateChecker.jsm @@ -852,14 +852,11 @@ this.AddonUpdateChecker = { if (!aPlatformVersion) aPlatformVersion = Services.appinfo.platformVersion; - let blocklist = Cc["@mozilla.org/extensions/blocklist;1"]. - getService(Ci.nsIBlocklistService); - let newest = null; for (let update of aUpdates) { if (!update.updateURL) continue; - let state = blocklist.getAddonBlocklistState(update, aAppVersion, aPlatformVersion); + let state = Services.blocklist.getAddonBlocklistState(update, aAppVersion, aPlatformVersion); if (state != Ci.nsIBlocklistService.STATE_NOT_BLOCKED) continue; if ((newest == null || (Services.vc.compare(newest.version, update.version) < 0)) && diff --git a/toolkit/mozapps/extensions/internal/PluginProvider.jsm b/toolkit/mozapps/extensions/internal/PluginProvider.jsm index ab846b974851..e3c1a8f3774f 100644 --- a/toolkit/mozapps/extensions/internal/PluginProvider.jsm +++ b/toolkit/mozapps/extensions/internal/PluginProvider.jsm @@ -381,16 +381,12 @@ PluginWrapper.prototype = { get blocklistState() { let { tags: [tag] } = pluginFor(this); - let bs = Cc["@mozilla.org/extensions/blocklist;1"]. - getService(Ci.nsIBlocklistService); - return bs.getPluginBlocklistState(tag); + return Services.blocklist.getPluginBlocklistState(tag); }, get blocklistURL() { let { tags: [tag] } = pluginFor(this); - let bs = Cc["@mozilla.org/extensions/blocklist;1"]. - getService(Ci.nsIBlocklistService); - return bs.getPluginBlocklistURL(tag); + return Services.blocklist.getPluginBlocklistURL(tag); }, get size() { diff --git a/toolkit/mozapps/extensions/nsBlocklistService.js b/toolkit/mozapps/extensions/nsBlocklistService.js index caa5a2a7352e..0fa1bf62e529 100644 --- a/toolkit/mozapps/extensions/nsBlocklistService.js +++ b/toolkit/mozapps/extensions/nsBlocklistService.js @@ -80,16 +80,12 @@ XPCOMUtils.defineLazyServiceGetter(this, "gVersionChecker", "@mozilla.org/xpcom/version-comparator;1", "nsIVersionComparator"); -XPCOMUtils.defineLazyGetter(this, "gPref", function() { - return Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService). - QueryInterface(Ci.nsIPrefBranch); -}); - // From appinfo in Services.jsm. It is not possible to use the one in // Services.jsm since it will not successfully QueryInterface nsIXULAppInfo in // xpcshell tests due to other code calling Services.appinfo before the // nsIXULAppInfo is created by the tests. XPCOMUtils.defineLazyGetter(this, "gApp", function() { + // eslint-disable-next-line mozilla/use-services let appinfo = Cc["@mozilla.org/xre/app-info;1"] .getService(Ci.nsIXULRuntime); try { @@ -125,17 +121,15 @@ XPCOMUtils.defineLazyGetter(this, "gABI", function() { XPCOMUtils.defineLazyGetter(this, "gOSVersion", function() { let osVersion; - let sysInfo = Cc["@mozilla.org/system-info;1"]. - getService(Ci.nsIPropertyBag2); try { - osVersion = sysInfo.getProperty("name") + " " + sysInfo.getProperty("version"); + osVersion = Services.sysinfo.getProperty("name") + " " + Services.sysinfo.getProperty("version"); } catch (e) { LOG("BlockList Global gOSVersion: OS Version unknown."); } if (osVersion) { try { - osVersion += " (" + sysInfo.getProperty("secondaryLibrary") + ")"; + osVersion += " (" + Services.sysinfo.getProperty("secondaryLibrary") + ")"; } catch (e) { // Not all platforms have a secondary widget library, so an error is nothing to worry about. } @@ -177,40 +171,24 @@ function LOG(string) { */ function getPref(func, preference, defaultValue) { try { - return gPref[func](preference); + return Services.prefs[func](preference); } catch (e) { } return defaultValue; } -/** - * Constructs a URI to a spec. - * @param spec - * The spec to construct a URI to - * @returns The nsIURI constructed. - */ -function newURI(spec) { - var ioServ = Cc["@mozilla.org/network/io-service;1"]. - getService(Ci.nsIIOService); - return ioServ.newURI(spec); -} - // Restarts the application checking in with observers first function restartApp() { // Notify all windows that an application quit has been requested. - var os = Cc["@mozilla.org/observer-service;1"]. - getService(Ci.nsIObserverService); var cancelQuit = Cc["@mozilla.org/supports-PRBool;1"]. createInstance(Ci.nsISupportsPRBool); - os.notifyObservers(cancelQuit, "quit-application-requested"); + Services.obs.notifyObservers(cancelQuit, "quit-application-requested"); // Something aborted the quit process. if (cancelQuit.data) return; - var as = Cc["@mozilla.org/toolkit/app-startup;1"]. - getService(Ci.nsIAppStartup); - as.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); + Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); } /** @@ -246,7 +224,7 @@ function getLocale() { /* Get the distribution pref values, from defaults only */ function getDistributionPrefValue(aPrefName) { - return gPref.getDefaultBranch(null).getCharPref(aPrefName, "default"); + return Services.prefs.getDefaultBranch(null).getCharPref(aPrefName, "default"); } /** @@ -279,8 +257,8 @@ function Blocklist() { gBlocklistEnabled = getPref("getBoolPref", PREF_BLOCKLIST_ENABLED, true); gBlocklistLevel = Math.min(getPref("getIntPref", PREF_BLOCKLIST_LEVEL, DEFAULT_LEVEL), MAX_BLOCK_LEVEL); - gPref.addObserver("extensions.blocklist.", this); - gPref.addObserver(PREF_EM_LOGGING_ENABLED, this); + Services.prefs.addObserver("extensions.blocklist.", this); + Services.prefs.addObserver(PREF_EM_LOGGING_ENABLED, this); this.wrappedJSObject = this; // requests from child processes come in here, see receiveMessage. Services.ppmm.addMessageListener("Blocklist:getPluginBlocklistState", this); @@ -311,8 +289,8 @@ Blocklist.prototype = { Services.obs.removeObserver(this, "xpcom-shutdown"); Services.ppmm.removeMessageListener("Blocklist:getPluginBlocklistState", this); Services.ppmm.removeMessageListener("Blocklist:content-blocklist-updated", this); - gPref.removeObserver("extensions.blocklist.", this); - gPref.removeObserver(PREF_EM_LOGGING_ENABLED, this); + Services.prefs.removeObserver("extensions.blocklist.", this); + Services.prefs.removeObserver(PREF_EM_LOGGING_ENABLED, this); }, observe(aSubject, aTopic, aData) { @@ -527,7 +505,7 @@ Blocklist.prototype = { return; try { - var dsURI = gPref.getCharPref(PREF_BLOCKLIST_URL); + var dsURI = Services.prefs.getCharPref(PREF_BLOCKLIST_URL); } catch (e) { LOG("Blocklist::notify: The " + PREF_BLOCKLIST_URL + " preference" + " is missing!"); @@ -594,7 +572,7 @@ Blocklist.prototype = { // integer preference. The -1 indicates that the counter has been reset. pingCountVersion = -1; } - gPref.setIntPref(PREF_BLOCKLIST_PINGCOUNTVERSION, pingCountVersion); + Services.prefs.setIntPref(PREF_BLOCKLIST_PINGCOUNTVERSION, pingCountVersion); } if (pingCountTotal != "invalid") { @@ -604,12 +582,12 @@ Blocklist.prototype = { // integer preference. pingCountTotal = -1; } - gPref.setIntPref(PREF_BLOCKLIST_PINGCOUNTTOTAL, pingCountTotal); + Services.prefs.setIntPref(PREF_BLOCKLIST_PINGCOUNTTOTAL, pingCountTotal); } // Verify that the URI is valid try { - var uri = newURI(dsURI); + var uri = Services.io.newURI(dsURI); } catch (e) { LOG("Blocklist::notify: There was an error creating the blocklist URI\r\n" + "for: " + dsURI + ", error: " + e); @@ -634,7 +612,7 @@ Blocklist.prototype = { // If blocklist update via Kinto is enabled, poll for changes and sync. // Currently certificates blocklist relies on it by default. - if (gPref.getBoolPref(PREF_BLOCKLIST_UPDATE_ENABLED)) { + if (Services.prefs.getBoolPref(PREF_BLOCKLIST_UPDATE_ENABLED)) { BlocklistUpdater.checkVersions().catch(() => { // Bug 1254099 - Telemetry (success or errors) will be collected during this process. }); @@ -1281,7 +1259,7 @@ Blocklist.prototype = { // A helper function that reverts the prefs passed to default values. function resetPrefs(prefs) { for (let pref of prefs) - gPref.clearUserPref(pref); + Services.prefs.clearUserPref(pref); } const types = ["extension", "theme", "locale", "dictionary", "service"]; AddonManager.getAddonsByTypes(types, addons => { diff --git a/toolkit/mozapps/extensions/test/browser/browser_addonrepository_performance.js b/toolkit/mozapps/extensions/test/browser/browser_addonrepository_performance.js index 3f54285413a7..d65e4e7278b3 100644 --- a/toolkit/mozapps/extensions/test/browser/browser_addonrepository_performance.js +++ b/toolkit/mozapps/extensions/test/browser/browser_addonrepository_performance.js @@ -8,7 +8,6 @@ var tmp = {}; Components.utils.import("resource://gre/modules/addons/AddonRepository.jsm", tmp); var AddonRepository = tmp.AddonRepository; -var gTelemetry = Cc["@mozilla.org/base/telemetry;1"].getService(Ci.nsITelemetry); var gProvider; function parseParams(aQuery) { @@ -43,8 +42,8 @@ function test() { // Check if we encountered telemetry errors and turn the tests for which // we don't have valid data into known failures. - let snapshot = gTelemetry.getHistogramById("STARTUP_MEASUREMENT_ERRORS") - .snapshot(); + let snapshot = Services.telemetry.getHistogramById("STARTUP_MEASUREMENT_ERRORS") + .snapshot(); let tProcessValid = (snapshot.counts[0] == 0); let tMainValid = tProcessValid && (snapshot.counts[2] == 0); @@ -95,4 +94,3 @@ function test() { } }, true); } - diff --git a/toolkit/mozapps/extensions/test/browser/browser_bug567127.js b/toolkit/mozapps/extensions/test/browser/browser_bug567127.js index ad3c4ea9be47..6d968f10c033 100644 --- a/toolkit/mozapps/extensions/test/browser/browser_bug567127.js +++ b/toolkit/mozapps/extensions/test/browser/browser_bug567127.js @@ -64,9 +64,7 @@ function checkInstallConfirmation(...urls) { is(urls.length, 0, "Saw install dialogs for all expected urls"); - let wm = Cc["@mozilla.org/appshell/window-mediator;1"] - .getService(Ci.nsIWindowMediator); - wm.removeListener(listener); + Services.wm.removeListener(listener); is(notificationCount, nurls, `Saw ${nurls} addon-install-started notifications`); Services.obs.removeObserver(observer, "addon-install-started"); @@ -75,9 +73,7 @@ function checkInstallConfirmation(...urls) { } }; - let wm = Cc["@mozilla.org/appshell/window-mediator;1"] - .getService(Ci.nsIWindowMediator); - wm.addListener(listener); + Services.wm.addListener(listener); }); } diff --git a/toolkit/mozapps/extensions/test/browser/browser_dragdrop.js b/toolkit/mozapps/extensions/test/browser/browser_dragdrop.js index 0055c5a3163d..1850cedbf095 100644 --- a/toolkit/mozapps/extensions/test/browser/browser_dragdrop.js +++ b/toolkit/mozapps/extensions/test/browser/browser_dragdrop.js @@ -12,9 +12,7 @@ // we only need EventUtils.js for a few files which is why we are using loadSubScript. var gManagerWindow; var EventUtils = {}; -this._scriptLoader = Cc["@mozilla.org/moz/jssubscript-loader;1"]. - getService(Ci.mozIJSSubScriptLoader); -this._scriptLoader.loadSubScript("chrome://mochikit/content/tests/SimpleTest/EventUtils.js", EventUtils); +Services.scriptloader.loadSubScript("chrome://mochikit/content/tests/SimpleTest/EventUtils.js", EventUtils); function checkInstallConfirmation(...urls) { let nurls = urls.length; @@ -68,9 +66,7 @@ function checkInstallConfirmation(...urls) { return; } - let wm = Cc["@mozilla.org/appshell/window-mediator;1"] - .getService(Ci.nsIWindowMediator); - wm.removeListener(listener); + Services.wm.removeListener(listener); is(notificationCount, nurls, `Saw ${nurls} addon-install-started notifications`); Services.obs.removeObserver(observer, "addon-install-started"); @@ -79,9 +75,7 @@ function checkInstallConfirmation(...urls) { } }; - let wm = Cc["@mozilla.org/appshell/window-mediator;1"] - .getService(Ci.nsIWindowMediator); - wm.addListener(listener); + Services.wm.addListener(listener); } function test() { diff --git a/toolkit/mozapps/extensions/test/browser/browser_list.js b/toolkit/mozapps/extensions/test/browser/browser_list.js index 1bb7dd44cfc5..ff73e5b2da15 100644 --- a/toolkit/mozapps/extensions/test/browser/browser_list.js +++ b/toolkit/mozapps/extensions/test/browser/browser_list.js @@ -739,38 +739,35 @@ add_task(async function() { let items = get_test_items(); - var fm = Cc["@mozilla.org/focus-manager;1"]. - getService(Ci.nsIFocusManager); - let addon = items["Test add-on 6"]; addon.parentNode.ensureElementIsVisible(addon); EventUtils.synthesizeMouseAtCenter(addon, { }, gManagerWindow); - is(fm.focusedElement, addon.parentNode, "Focus should have moved to the list"); + is(Services.focus.focusedElement, addon.parentNode, "Focus should have moved to the list"); EventUtils.synthesizeKey("VK_TAB", { }, gManagerWindow); - is(fm.focusedElement, get_node(addon, "details-btn"), "Focus should have moved to the more button"); + is(Services.focus.focusedElement, get_node(addon, "details-btn"), "Focus should have moved to the more button"); EventUtils.synthesizeKey("VK_TAB", { }, gManagerWindow); - is(fm.focusedElement, get_node(addon, "disable-btn"), "Focus should have moved to the disable button"); + is(Services.focus.focusedElement, get_node(addon, "disable-btn"), "Focus should have moved to the disable button"); EventUtils.synthesizeKey("VK_TAB", { }, gManagerWindow); - is(fm.focusedElement, get_node(addon, "remove-btn"), "Focus should have moved to the remove button"); + is(Services.focus.focusedElement, get_node(addon, "remove-btn"), "Focus should have moved to the remove button"); EventUtils.synthesizeKey("VK_TAB", { }, gManagerWindow); - ok(!is_node_in_list(fm.focusedElement), "Focus should be outside the list"); + ok(!is_node_in_list(Services.focus.focusedElement), "Focus should be outside the list"); EventUtils.synthesizeKey("VK_TAB", { shiftKey: true }, gManagerWindow); - is(fm.focusedElement, get_node(addon, "remove-btn"), "Focus should have moved to the remove button"); + is(Services.focus.focusedElement, get_node(addon, "remove-btn"), "Focus should have moved to the remove button"); EventUtils.synthesizeKey("VK_TAB", { shiftKey: true }, gManagerWindow); EventUtils.synthesizeKey("VK_TAB", { shiftKey: true }, gManagerWindow); - is(fm.focusedElement, get_node(addon, "details-btn"), "Focus should have moved to the more button"); + is(Services.focus.focusedElement, get_node(addon, "details-btn"), "Focus should have moved to the more button"); EventUtils.synthesizeKey("VK_TAB", { shiftKey: true }, gManagerWindow); - is(fm.focusedElement, addon.parentNode, "Focus should have moved to the list"); + is(Services.focus.focusedElement, addon.parentNode, "Focus should have moved to the list"); EventUtils.synthesizeKey("VK_TAB", { shiftKey: true }, gManagerWindow); - ok(!is_node_in_list(fm.focusedElement), "Focus should be outside the list"); + ok(!is_node_in_list(Services.focus.focusedElement), "Focus should be outside the list"); try { Services.prefs.clearUserPref("accessibility.tabfocus_applies_to_xul"); diff --git a/toolkit/mozapps/extensions/test/mochitest/test_bug687194.html b/toolkit/mozapps/extensions/test/mochitest/test_bug687194.html index 2e4950e8a49b..e2b452853a69 100644 --- a/toolkit/mozapps/extensions/test/mochitest/test_bug687194.html +++ b/toolkit/mozapps/extensions/test/mochitest/test_bug687194.html @@ -20,10 +20,10 @@ function childFrameScript() { "use strict"; - var ios = - Components.classes["@mozilla.org/network/io-service;1"] - .getService(Components.interfaces.nsIIOService); - /* global Ci, addMessageListener */ + /* global Ci, Cu, addMessageListener */ + + Cu.import("resource://gre/modules/Services.jsm"); + let cr = Components.classes["@mozilla.org/chrome/chrome-registry;1"] .getService(Ci.nsIXULChromeRegistry); @@ -31,7 +31,7 @@ let result; let threw = false; try { - let uri = ios.newURI(message.data.URI); + let uri = Services.io.newURI(message.data.URI); result = cr.convertChromeURL(uri).spec; } catch (e) { threw = true; diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_LightweightThemeManager.js b/toolkit/mozapps/extensions/test/xpcshell/test_LightweightThemeManager.js index 3371ab7e87dc..82653b3e2ff7 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_LightweightThemeManager.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_LightweightThemeManager.js @@ -380,10 +380,8 @@ function run_test() { do_check_eq(ltm.currentTheme, null); // Force the theme into the prefs anyway - let prefs = Cc["@mozilla.org/preferences-service;1"]. - getService(Ci.nsIPrefBranch); let themes = [data]; - prefs.setCharPref("lightweightThemes.usedThemes", JSON.stringify(themes)); + Services.prefs.setCharPref("lightweightThemes.usedThemes", JSON.stringify(themes)); do_check_eq(ltm.usedThemes.length, 1); // This should silently drop the bad theme. @@ -395,7 +393,7 @@ function run_test() { // Add one broken and some working. themes = [data, dummy("x1"), dummy("x2")]; - prefs.setCharPref("lightweightThemes.usedThemes", JSON.stringify(themes)); + Services.prefs.setCharPref("lightweightThemes.usedThemes", JSON.stringify(themes)); do_check_eq(ltm.usedThemes.length, 3); // Switching to an existing theme should drop the bad theme. @@ -406,7 +404,7 @@ function run_test() { do_check_eq(ltm.usedThemes.length, 0); do_check_eq(ltm.currentTheme, null); - prefs.setCharPref("lightweightThemes.usedThemes", JSON.stringify(themes)); + Services.prefs.setCharPref("lightweightThemes.usedThemes", JSON.stringify(themes)); do_check_eq(ltm.usedThemes.length, 3); // Forgetting an existing theme should drop the bad theme. @@ -419,7 +417,7 @@ function run_test() { // Test whether a JSON set with setCharPref can be retrieved with usedThemes ltm.currentTheme = dummy("x0"); ltm.currentTheme = dummy("x1"); - prefs.setCharPref("lightweightThemes.usedThemes", JSON.stringify(ltm.usedThemes)); + Services.prefs.setCharPref("lightweightThemes.usedThemes", JSON.stringify(ltm.usedThemes)); do_check_eq(ltm.usedThemes.length, 2); do_check_eq(ltm.currentTheme.id, "x1"); do_check_eq(ltm.usedThemes[1].id, "x0"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_blocklist_prefs.js b/toolkit/mozapps/extensions/test/xpcshell/test_blocklist_prefs.js index 7445337cf3a0..092f4c85d5de 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_blocklist_prefs.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_blocklist_prefs.js @@ -9,11 +9,6 @@ var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; const URI_EXTENSION_BLOCKLIST_DIALOG = "chrome://mozapps/content/extensions/blocklist.xul"; -XPCOMUtils.defineLazyGetter(this, "gPref", function bls_gPref() { - return Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService). - QueryInterface(Ci.nsIPrefBranch); -}); - Cu.import("resource://testing-common/httpd.js"); Cu.import("resource://testing-common/MockRegistrar.jsm"); var testserver = new HttpServer(); @@ -104,10 +99,10 @@ function run_test() { }, profileDir); // Pre-set the preferences that we expect to get reset. - gPref.setIntPref("test.blocklist.pref1", 15); - gPref.setIntPref("test.blocklist.pref2", 15); - gPref.setBoolPref("test.blocklist.pref3", true); - gPref.setBoolPref("test.blocklist.pref4", true); + Services.prefs.setIntPref("test.blocklist.pref1", 15); + Services.prefs.setIntPref("test.blocklist.pref2", 15); + Services.prefs.setBoolPref("test.blocklist.pref3", true); + Services.prefs.setBoolPref("test.blocklist.pref4", true); startupManager(); @@ -117,10 +112,10 @@ function run_test() { do_check_eq(a1.blocklistState, Ci.nsIBlocklistService.STATE_NOT_BLOCKED); do_check_eq(a2.blocklistState, Ci.nsIBlocklistService.STATE_NOT_BLOCKED); - do_check_eq(gPref.getIntPref("test.blocklist.pref1"), 15); - do_check_eq(gPref.getIntPref("test.blocklist.pref2"), 15); - do_check_eq(gPref.getBoolPref("test.blocklist.pref3"), true); - do_check_eq(gPref.getBoolPref("test.blocklist.pref4"), true); + do_check_eq(Services.prefs.getIntPref("test.blocklist.pref1"), 15); + do_check_eq(Services.prefs.getIntPref("test.blocklist.pref2"), 15); + do_check_eq(Services.prefs.getBoolPref("test.blocklist.pref3"), true); + do_check_eq(Services.prefs.getBoolPref("test.blocklist.pref4"), true); run_test_1(); }); } @@ -138,10 +133,10 @@ function run_test_1() { do_check_eq(a2.blocklistState, Ci.nsIBlocklistService.STATE_BLOCKED); // All these prefs must be reset to defaults. - do_check_eq(gPref.prefHasUserValue("test.blocklist.pref1"), false); - do_check_eq(gPref.prefHasUserValue("test.blocklist.pref2"), false); - do_check_eq(gPref.prefHasUserValue("test.blocklist.pref3"), false); - do_check_eq(gPref.prefHasUserValue("test.blocklist.pref4"), false); + do_check_eq(Services.prefs.prefHasUserValue("test.blocklist.pref1"), false); + do_check_eq(Services.prefs.prefHasUserValue("test.blocklist.pref2"), false); + do_check_eq(Services.prefs.prefHasUserValue("test.blocklist.pref3"), false); + do_check_eq(Services.prefs.prefHasUserValue("test.blocklist.pref4"), false); end_test(); }); }); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_bug393285.js b/toolkit/mozapps/extensions/test/xpcshell/test_bug393285.js index 1a90b83691a6..cfbed18d6f0d 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_bug393285.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug393285.js @@ -269,47 +269,44 @@ function run_test_1() { load_blocklist("test_bug393285.xml", function() { restartManager(); - var blocklist = Cc["@mozilla.org/extensions/blocklist;1"] - .getService(Ci.nsIBlocklistService); - AddonManager.getAddonsByIDs(addonIDs, function([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15]) { // No info in blocklist, shouldn't be blocked - do_check_false(blocklist.isAddonBlocklisted(a1, "1", "1.9")); + do_check_false(Services.blocklist.isAddonBlocklisted(a1, "1", "1.9")); // Should always be blocked - do_check_true(blocklist.isAddonBlocklisted(a2, "1", "1.9")); + do_check_true(Services.blocklist.isAddonBlocklisted(a2, "1", "1.9")); // Only version 1 should be blocked - do_check_true(blocklist.isAddonBlocklisted(a3, "1", "1.9")); - do_check_false(blocklist.isAddonBlocklisted(a4, "1", "1.9")); + do_check_true(Services.blocklist.isAddonBlocklisted(a3, "1", "1.9")); + do_check_false(Services.blocklist.isAddonBlocklisted(a4, "1", "1.9")); // Should be blocked for app version 1 - do_check_true(blocklist.isAddonBlocklisted(a5, "1", "1.9")); - do_check_false(blocklist.isAddonBlocklisted(a5, "2", "1.9")); + do_check_true(Services.blocklist.isAddonBlocklisted(a5, "1", "1.9")); + do_check_false(Services.blocklist.isAddonBlocklisted(a5, "2", "1.9")); // Not blocklisted because we are a different OS - do_check_false(blocklist.isAddonBlocklisted(a6, "2", "1.9")); + do_check_false(Services.blocklist.isAddonBlocklisted(a6, "2", "1.9")); // Blocklisted based on OS - do_check_true(blocklist.isAddonBlocklisted(a7, "2", "1.9")); - do_check_true(blocklist.isAddonBlocklisted(a8, "2", "1.9")); + do_check_true(Services.blocklist.isAddonBlocklisted(a7, "2", "1.9")); + do_check_true(Services.blocklist.isAddonBlocklisted(a8, "2", "1.9")); // Not blocklisted because we are a different ABI - do_check_false(blocklist.isAddonBlocklisted(a9, "2", "1.9")); + do_check_false(Services.blocklist.isAddonBlocklisted(a9, "2", "1.9")); // Blocklisted based on ABI - do_check_true(blocklist.isAddonBlocklisted(a10, "2", "1.9")); - do_check_true(blocklist.isAddonBlocklisted(a11, "2", "1.9")); + do_check_true(Services.blocklist.isAddonBlocklisted(a10, "2", "1.9")); + do_check_true(Services.blocklist.isAddonBlocklisted(a11, "2", "1.9")); // Doesnt match both os and abi so not blocked - do_check_false(blocklist.isAddonBlocklisted(a12, "2", "1.9")); - do_check_false(blocklist.isAddonBlocklisted(a13, "2", "1.9")); - do_check_false(blocklist.isAddonBlocklisted(a14, "2", "1.9")); + do_check_false(Services.blocklist.isAddonBlocklisted(a12, "2", "1.9")); + do_check_false(Services.blocklist.isAddonBlocklisted(a13, "2", "1.9")); + do_check_false(Services.blocklist.isAddonBlocklisted(a14, "2", "1.9")); // Matches both os and abi so blocked - do_check_true(blocklist.isAddonBlocklisted(a15, "2", "1.9")); + do_check_true(Services.blocklist.isAddonBlocklisted(a15, "2", "1.9")); end_test(); }); }); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_bug406118.js b/toolkit/mozapps/extensions/test/xpcshell/test_bug406118.js index 3508bd0d4346..e6585df0d718 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_bug406118.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug406118.js @@ -136,18 +136,15 @@ function run_test_1() { load_blocklist("test_bug393285.xml", function() { restartManager(); - var blocklist = Cc["@mozilla.org/extensions/blocklist;1"] - .getService(Ci.nsIBlocklistService); - AddonManager.getAddonsByIDs(addonIDs, function([a1, a2, a3, a4]) { // No info in blocklist, shouldn't be blocked - do_check_false(blocklist.isAddonBlocklisted(a1, null, null)); + do_check_false(Services.blocklist.isAddonBlocklisted(a1, null, null)); // All these should be blocklisted for the current app. - do_check_true(blocklist.isAddonBlocklisted(a2, null, null)); - do_check_true(blocklist.isAddonBlocklisted(a3, null, null)); - do_check_true(blocklist.isAddonBlocklisted(a4, null, null)); + do_check_true(Services.blocklist.isAddonBlocklisted(a2, null, null)); + do_check_true(Services.blocklist.isAddonBlocklisted(a3, null, null)); + do_check_true(Services.blocklist.isAddonBlocklisted(a4, null, null)); end_test(); }); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_bug430120.js b/toolkit/mozapps/extensions/test/xpcshell/test_bug430120.js index 5f86a4364203..82cb18b3220c 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_bug430120.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug430120.js @@ -77,13 +77,11 @@ function pathHandler(metadata, response) { function run_test() { var osVersion; - var sysInfo = Components.classes["@mozilla.org/system-info;1"] - .getService(Components.interfaces.nsIPropertyBag2); try { - osVersion = sysInfo.getProperty("name") + " " + sysInfo.getProperty("version"); + osVersion = Services.sysinfo.getProperty("name") + " " + Services.sysinfo.getProperty("version"); if (osVersion) { try { - osVersion += " (" + sysInfo.getProperty("secondaryLibrary") + ")"; + osVersion += " (" + Services.sysinfo.getProperty("secondaryLibrary") + ")"; } catch (e) { } gOSVersion = encodeURIComponent(osVersion); @@ -100,9 +98,7 @@ function run_test() { gPort = testserver.identity.primaryPort; // Initialise the blocklist service - gBlocklist = Components.classes["@mozilla.org/extensions/blocklist;1"] - .getService(Components.interfaces.nsIBlocklistService) - .QueryInterface(Components.interfaces.nsIObserver); + gBlocklist = Services.blocklist.QueryInterface(Components.interfaces.nsIObserver); gBlocklist.observe(null, "profile-after-change", ""); do_check_true(timerService.hasTimer(BLOCKLIST_TIMER)); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_bug449027.js b/toolkit/mozapps/extensions/test/xpcshell/test_bug449027.js index 3e255f7d1f9d..4bfdc5d7f889 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_bug449027.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug449027.js @@ -196,8 +196,7 @@ function MockPluginTag(name, version, start, appBlocks, toolkitBlocks) { } Object.defineProperty(MockPluginTag.prototype, "blocklisted", { get: function MockPluginTag_getBlocklisted() { - let bls = AM_Cc["@mozilla.org/extensions/blocklist;1"].getService(Ci.nsIBlocklistService); - return bls.getPluginBlocklistState(this) == bls.STATE_BLOCKED; + return Services.blocklist.getPluginBlocklistState(this) == Services.blocklist.STATE_BLOCKED; } }); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_bug455906.js b/toolkit/mozapps/extensions/test/xpcshell/test_bug455906.js index 9f58a6d73826..852c657c4136 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_bug455906.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug455906.js @@ -89,8 +89,7 @@ function MockPlugin(name, version, enabledState) { } Object.defineProperty(MockPlugin.prototype, "blocklisted", { get: function MockPlugin_getBlocklisted() { - let bls = Cc["@mozilla.org/extensions/blocklist;1"].getService(Ci.nsIBlocklistService); - return bls.getPluginBlocklistState(this) == bls.STATE_BLOCKED; + return Services.blocklist.getPluginBlocklistState(this) == Services.blocklist.STATE_BLOCKED; } }); Object.defineProperty(MockPlugin.prototype, "disabled", { @@ -416,9 +415,6 @@ function check_test_pt3() { restartManager(); dump("Checking results pt 3\n"); - let blocklist = Cc["@mozilla.org/extensions/blocklist;1"]. - getService(Ci.nsIBlocklistService); - AddonManager.getAddonsByIDs(ADDONS.map(a => a.id), function(addons) { // All should have gained the blocklist state, user disabled as previously do_check_eq(check_addon_state(addons[0]), "true,false,true"); @@ -435,18 +431,18 @@ function check_test_pt3() { do_check_eq(check_addon_state(addons[3]), "false,false,true"); // Check blockIDs are correct - do_check_eq(blocklist.getAddonBlocklistURL(addons[0]), create_blocklistURL(addons[0].id)); - do_check_eq(blocklist.getAddonBlocklistURL(addons[1]), create_blocklistURL(addons[1].id)); - do_check_eq(blocklist.getAddonBlocklistURL(addons[2]), create_blocklistURL(addons[2].id)); - do_check_eq(blocklist.getAddonBlocklistURL(addons[3]), create_blocklistURL(addons[3].id)); - do_check_eq(blocklist.getAddonBlocklistURL(addons[4]), create_blocklistURL(addons[4].id)); + do_check_eq(Services.blocklist.getAddonBlocklistURL(addons[0]), create_blocklistURL(addons[0].id)); + do_check_eq(Services.blocklist.getAddonBlocklistURL(addons[1]), create_blocklistURL(addons[1].id)); + do_check_eq(Services.blocklist.getAddonBlocklistURL(addons[2]), create_blocklistURL(addons[2].id)); + do_check_eq(Services.blocklist.getAddonBlocklistURL(addons[3]), create_blocklistURL(addons[3].id)); + do_check_eq(Services.blocklist.getAddonBlocklistURL(addons[4]), create_blocklistURL(addons[4].id)); // All plugins have the same blockID on the test - do_check_eq(blocklist.getPluginBlocklistURL(PLUGINS[0]), create_blocklistURL("test_bug455906_plugin")); - do_check_eq(blocklist.getPluginBlocklistURL(PLUGINS[1]), create_blocklistURL("test_bug455906_plugin")); - do_check_eq(blocklist.getPluginBlocklistURL(PLUGINS[2]), create_blocklistURL("test_bug455906_plugin")); - do_check_eq(blocklist.getPluginBlocklistURL(PLUGINS[3]), create_blocklistURL("test_bug455906_plugin")); - do_check_eq(blocklist.getPluginBlocklistURL(PLUGINS[4]), create_blocklistURL("test_bug455906_plugin")); + do_check_eq(Services.blocklist.getPluginBlocklistURL(PLUGINS[0]), create_blocklistURL("test_bug455906_plugin")); + do_check_eq(Services.blocklist.getPluginBlocklistURL(PLUGINS[1]), create_blocklistURL("test_bug455906_plugin")); + do_check_eq(Services.blocklist.getPluginBlocklistURL(PLUGINS[2]), create_blocklistURL("test_bug455906_plugin")); + do_check_eq(Services.blocklist.getPluginBlocklistURL(PLUGINS[3]), create_blocklistURL("test_bug455906_plugin")); + do_check_eq(Services.blocklist.getPluginBlocklistURL(PLUGINS[4]), create_blocklistURL("test_bug455906_plugin")); // Shouldn't be changed do_check_eq(check_addon_state(addons[5]), "false,false,true"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_bug514327_2.js b/toolkit/mozapps/extensions/test/xpcshell/test_bug514327_2.js index d0efce3c60d5..38ad60a8a944 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_bug514327_2.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug514327_2.js @@ -24,9 +24,8 @@ function run_test() { copyBlocklistToProfile(do_get_file("data/test_bug514327_2.xml")); var blocklist = Cc["@mozilla.org/extensions/blocklist;1"].getService(nsIBLS); - var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch); - prefs.setBoolPref("plugin.load_flash_only", false); + Services.prefs.setBoolPref("plugin.load_flash_only", false); var plugin = get_test_plugintag(); if (!plugin) diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_bug514327_3.js b/toolkit/mozapps/extensions/test/xpcshell/test_bug514327_3.js index 6488f9a9514b..bdce60760df6 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_bug514327_3.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug514327_3.js @@ -14,7 +14,6 @@ const nsIBLS = Ci.nsIBlocklistService; const URI_EXTENSION_BLOCKLIST_DIALOG = "chrome://mozapps/content/extensions/blocklist.xul"; var gBlocklist = null; -var gPrefs = null; var gTestserver = null; var gNextTestPart = null; @@ -90,7 +89,7 @@ MockRegistrar.register("@mozilla.org/embedcomp/window-watcher;1", WindowWatcher) function do_update_blocklist(aDatafile, aNextPart) { gNextTestPart = aNextPart; - gPrefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + aDatafile); + Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + aDatafile); gBlocklist.QueryInterface(Ci.nsITimerCallback).notify(null); } @@ -107,7 +106,6 @@ function run_test() { // initialize the blocklist with no entries copyBlocklistToProfile(do_get_file("data/test_bug514327_3_empty.xml")); - gPrefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch); gBlocklist = Cc["@mozilla.org/extensions/blocklist;1"].getService(nsIBLS); // should NOT be marked as outdated by the blocklist diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Device.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Device.js index 4a1dfb63d239..ca4872b78c56 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Device.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Device.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -43,7 +37,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xabcd"); gfxInfo.spoofDeviceID("0x9876"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_DriverNew.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_DriverNew.js index 57457677ffa9..25e7b41f5878 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_DriverNew.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_DriverNew.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -43,7 +37,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xabcd"); gfxInfo.spoofDeviceID("0x1234"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_DriverNew.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_DriverNew.js index 8851afdcff38..920187f67c0f 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_DriverNew.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_DriverNew.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -43,7 +37,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xdcdc"); gfxInfo.spoofDeviceID("0x1234"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_DriverOld.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_DriverOld.js index 1df149488bde..d77faa76db9a 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_DriverOld.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_DriverOld.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -43,7 +37,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xdcdc"); gfxInfo.spoofDeviceID("0x1234"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_OK.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_OK.js index f1dcb5b4f494..d95b5e586cba 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_OK.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_OK.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -43,7 +37,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xdcdc"); gfxInfo.spoofDeviceID("0x1234"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_GTE_DriverOld.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_GTE_DriverOld.js index 33ef972396be..9c7694c0f7b5 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_GTE_DriverOld.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_GTE_DriverOld.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -43,7 +37,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xabab"); gfxInfo.spoofDeviceID("0x1234"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_GTE_OK.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_GTE_OK.js index 4ace72563fb3..fe3b43f27091 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_GTE_OK.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_GTE_OK.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -43,7 +37,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xabab"); gfxInfo.spoofDeviceID("0x1234"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_No_Comparison.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_No_Comparison.js index e5093fd91ef1..3a9e7fa6cad1 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_No_Comparison.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_No_Comparison.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -46,7 +40,7 @@ function run_test() { gfxInfo.spoofDeviceID("0x6666"); // Spoof the OS version so it matches the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": // Windows 7 gfxInfo.spoofOSVersion(0x60001); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OK.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OK.js index cf3b738a7eea..0fe232cd04f1 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OK.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OK.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -43,7 +37,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xabcd"); gfxInfo.spoofDeviceID("0x1234"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OS.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OS.js index f8caafdde2de..303c2082ffe0 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OS.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OS.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -43,7 +37,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xabcd"); gfxInfo.spoofDeviceID("0x1234"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_match.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_match.js index f0026209e333..c084b93c6907 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_match.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_match.js @@ -15,12 +15,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist_OSVersion.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -47,7 +41,7 @@ function run_test() { gfxInfo.spoofDeviceID("0x1234"); // Spoof the version of the OS appropriately to test the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": // Windows 8 gfxInfo.spoofOSVersion(0x60002); @@ -73,10 +67,10 @@ function run_test() { do_test_pending(); function checkBlacklist() { - if (get_platform() == "WINNT") { + if (Services.appinfo.OS == "WINNT") { var status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT2D); do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION); - } else if (get_platform() == "Darwin") { + } else if (Services.appinfo.OS == "Darwin") { status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_OPENGL_LAYERS); do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION); } diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_mismatch_DriverVersion.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_mismatch_DriverVersion.js index c8b730e1087a..41cc82061367 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_mismatch_DriverVersion.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_mismatch_DriverVersion.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist_OSVersion.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -48,7 +42,7 @@ function run_test() { gfxInfo.spoofDeviceID("0x1234"); // Spoof the version of the OS appropriately to test the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": // Windows 8 gfxInfo.spoofOSVersion(0x60002); @@ -73,10 +67,10 @@ function run_test() { do_test_pending(); function checkBlacklist() { - if (get_platform() == "WINNT") { + if (Services.appinfo.OS == "WINNT") { var status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT2D); do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - } else if (get_platform() == "Darwin") { + } else if (Services.appinfo.OS == "Darwin") { status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_OPENGL_LAYERS); do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); } diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_mismatch_OSVersion.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_mismatch_OSVersion.js index 918efe813f0b..a45426b1ed64 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_mismatch_OSVersion.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_mismatch_OSVersion.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist_OSVersion.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -48,7 +42,7 @@ function run_test() { gfxInfo.spoofDeviceID("0x1234"); // Spoof the version of the OS appropriately to test the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": // Windows 7 gfxInfo.spoofOSVersion(0x60001); @@ -74,10 +68,10 @@ function run_test() { do_test_pending(); function checkBlacklist() { - if (get_platform() == "WINNT") { + if (Services.appinfo.OS == "WINNT") { var status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT2D); do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - } else if (get_platform() == "Darwin") { + } else if (Services.appinfo.OS == "Darwin") { status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_OPENGL_LAYERS); do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); } diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Vendor.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Vendor.js index 901c2e17a25c..81de9a46e044 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Vendor.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Vendor.js @@ -16,12 +16,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -43,7 +37,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xdcba"); gfxInfo.spoofDeviceID("0x1234"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Version.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Version.js index 250bdfbc4bd9..90f51b606862 100755 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Version.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Version.js @@ -15,12 +15,6 @@ gTestserver.start(-1); gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist_AllOS.xml", gTestserver); -function get_platform() { - var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -42,7 +36,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xabcd"); gfxInfo.spoofDeviceID("0x1234"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_prefs.js b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_prefs.js index 27439f0469c7..617757e82c9b 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_prefs.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_prefs.js @@ -16,12 +16,6 @@ gPort = gTestserver.identity.primaryPort; mapFile("/data/test_gfxBlacklist.xml", gTestserver); mapFile("/data/test_gfxBlacklist2.xml", gTestserver); -function get_platform() { - var xulRuntime = Components.classes["@mozilla.org/xre/app-info;1"] - .getService(Components.interfaces.nsIXULRuntime); - return xulRuntime.OS; -} - function load_blocklist(file) { Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/" + file); @@ -48,7 +42,7 @@ function run_test() { gfxInfo.QueryInterface(Ci.nsIGfxInfoDebug); // Set the vendor/device ID, etc, to match the test file. - switch (get_platform()) { + switch (Services.appinfo.OS) { case "WINNT": gfxInfo.spoofVendorID("0xabcd"); gfxInfo.spoofDeviceID("0x1234"); @@ -90,9 +84,7 @@ function run_test() { status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT3D_9_LAYERS); do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - var prefs = Cc["@mozilla.org/preferences-service;1"]. - getService(Ci.nsIPrefBranch); - do_check_eq(prefs.getIntPref("gfx.blacklist.direct2d"), + do_check_eq(Services.prefs.getIntPref("gfx.blacklist.direct2d"), Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION); Services.obs.removeObserver(blacklistAdded, "blocklist-data-gfxItems"); @@ -113,11 +105,9 @@ function run_test() { status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_DIRECT3D_9_LAYERS); do_check_eq(status, Ci.nsIGfxInfo.FEATURE_STATUS_OK); - var prefs = Cc["@mozilla.org/preferences-service;1"]. - getService(Ci.nsIPrefBranch); var exists = false; try { - prefs.getIntPref("gfx.blacklist.direct2d"); + Services.prefs.getIntPref("gfx.blacklist.direct2d"); exists = true; } catch (e) {} diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_overrideblocklist.js b/toolkit/mozapps/extensions/test/xpcshell/test_overrideblocklist.js index 7fd5a1ac98ee..7f83b5f62b61 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_overrideblocklist.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_overrideblocklist.js @@ -93,12 +93,11 @@ add_test(function test_copy() { startupManager(); reloadBlocklist(); - let blocklist = AM_Cc["@mozilla.org/extensions/blocklist;1"]. - getService(AM_Ci.nsIBlocklistService); - do_check_false(blocklist.isAddonBlocklisted(invalidAddon)); - do_check_false(blocklist.isAddonBlocklisted(ancientAddon)); - do_check_true(blocklist.isAddonBlocklisted(oldAddon)); - do_check_false(blocklist.isAddonBlocklisted(newAddon)); + + do_check_false(Services.blocklist.isAddonBlocklisted(invalidAddon)); + do_check_false(Services.blocklist.isAddonBlocklisted(ancientAddon)); + do_check_true(Services.blocklist.isAddonBlocklisted(oldAddon)); + do_check_false(Services.blocklist.isAddonBlocklisted(newAddon)); shutdownManager(); @@ -115,12 +114,11 @@ add_test(function test_ancient() { startupManager(); reloadBlocklist(); - let blocklist = AM_Cc["@mozilla.org/extensions/blocklist;1"]. - getService(AM_Ci.nsIBlocklistService); - do_check_false(blocklist.isAddonBlocklisted(invalidAddon)); - do_check_false(blocklist.isAddonBlocklisted(ancientAddon)); - do_check_true(blocklist.isAddonBlocklisted(oldAddon)); - do_check_false(blocklist.isAddonBlocklisted(newAddon)); + + do_check_false(Services.blocklist.isAddonBlocklisted(invalidAddon)); + do_check_false(Services.blocklist.isAddonBlocklisted(ancientAddon)); + do_check_true(Services.blocklist.isAddonBlocklisted(oldAddon)); + do_check_false(Services.blocklist.isAddonBlocklisted(newAddon)); shutdownManager(); @@ -137,12 +135,11 @@ add_test(function test_override() { startupManager(); reloadBlocklist(); - let blocklist = AM_Cc["@mozilla.org/extensions/blocklist;1"]. - getService(AM_Ci.nsIBlocklistService); - do_check_false(blocklist.isAddonBlocklisted(invalidAddon)); - do_check_false(blocklist.isAddonBlocklisted(ancientAddon)); - do_check_false(blocklist.isAddonBlocklisted(oldAddon)); - do_check_true(blocklist.isAddonBlocklisted(newAddon)); + + do_check_false(Services.blocklist.isAddonBlocklisted(invalidAddon)); + do_check_false(Services.blocklist.isAddonBlocklisted(ancientAddon)); + do_check_false(Services.blocklist.isAddonBlocklisted(oldAddon)); + do_check_true(Services.blocklist.isAddonBlocklisted(newAddon)); shutdownManager(); @@ -159,12 +156,11 @@ add_test(function test_retain() { startupManager(); reloadBlocklist(); - let blocklist = AM_Cc["@mozilla.org/extensions/blocklist;1"]. - getService(AM_Ci.nsIBlocklistService); - do_check_false(blocklist.isAddonBlocklisted(invalidAddon)); - do_check_false(blocklist.isAddonBlocklisted(ancientAddon)); - do_check_false(blocklist.isAddonBlocklisted(oldAddon)); - do_check_true(blocklist.isAddonBlocklisted(newAddon)); + + do_check_false(Services.blocklist.isAddonBlocklisted(invalidAddon)); + do_check_false(Services.blocklist.isAddonBlocklisted(ancientAddon)); + do_check_false(Services.blocklist.isAddonBlocklisted(oldAddon)); + do_check_true(Services.blocklist.isAddonBlocklisted(newAddon)); shutdownManager(); @@ -186,12 +182,11 @@ add_test(function test_missing() { startupManager(false); reloadBlocklist(); - blocklist = AM_Cc["@mozilla.org/extensions/blocklist;1"]. - getService(AM_Ci.nsIBlocklistService); - do_check_false(blocklist.isAddonBlocklisted(invalidAddon)); - do_check_false(blocklist.isAddonBlocklisted(ancientAddon)); - do_check_true(blocklist.isAddonBlocklisted(oldAddon)); - do_check_false(blocklist.isAddonBlocklisted(newAddon)); + + do_check_false(Services.blocklist.isAddonBlocklisted(invalidAddon)); + do_check_false(Services.blocklist.isAddonBlocklisted(ancientAddon)); + do_check_true(Services.blocklist.isAddonBlocklisted(oldAddon)); + do_check_false(Services.blocklist.isAddonBlocklisted(newAddon)); shutdownManager(); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_pluginBlocklistCtp.js b/toolkit/mozapps/extensions/test/xpcshell/test_pluginBlocklistCtp.js index 6cf722fc8378..3c18e97f2cc9 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_pluginBlocklistCtp.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_pluginBlocklistCtp.js @@ -5,7 +5,6 @@ const nsIBLS = Components.interfaces.nsIBlocklistService; Components.utils.import("resource://testing-common/httpd.js"); -var gBlocklistService = null; var gNotifier = null; var gNextTest = null; var gPluginHost = null; @@ -92,7 +91,7 @@ function get_test_plugin() { // so it shouldn't be click-to-play. function test_is_not_clicktoplay() { var plugin = get_test_plugin(); - var blocklistState = gBlocklistService.getPluginBlocklistState(plugin, "1", "1.9"); + var blocklistState = Services.blocklist.getPluginBlocklistState(plugin, "1", "1.9"); do_check_neq(blocklistState, Components.interfaces.nsIBlocklistService.STATE_VULNERABLE_UPDATE_AVAILABLE); do_check_neq(blocklistState, Components.interfaces.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE); @@ -105,7 +104,7 @@ function test_is_not_clicktoplay() { // so it should be click-to-play. function test_is_clicktoplay() { var plugin = get_test_plugin(); - var blocklistState = gBlocklistService.getPluginBlocklistState(plugin, "1", "1.9"); + var blocklistState = Services.blocklist.getPluginBlocklistState(plugin, "1", "1.9"); do_check_eq(blocklistState, Components.interfaces.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE); Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" + gPort + "/data/test_pluginBlocklistCtp.xml"); @@ -117,7 +116,7 @@ function test_is_clicktoplay() { // to the old one), so the plugin shouldn't be click-to-play any more. function test_is_not_clicktoplay2() { var plugin = get_test_plugin(); - var blocklistState = gBlocklistService.getPluginBlocklistState(plugin, "1", "1.9"); + var blocklistState = Services.blocklist.getPluginBlocklistState(plugin, "1", "1.9"); do_check_neq(blocklistState, Components.interfaces.nsIBlocklistService.STATE_VULNERABLE_UPDATE_AVAILABLE); do_check_neq(blocklistState, Components.interfaces.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE); @@ -130,12 +129,12 @@ function test_is_not_clicktoplay2() { // result in the plugin not being click-to-play. function test_disable_blocklist() { var plugin = get_test_plugin(); - var blocklistState = gBlocklistService.getPluginBlocklistState(plugin, "1", "1.9"); + var blocklistState = Services.blocklist.getPluginBlocklistState(plugin, "1", "1.9"); do_check_eq(blocklistState, Components.interfaces.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE); gNextTest = null; Services.prefs.setBoolPref("extensions.blocklist.enabled", false); - blocklistState = gBlocklistService.getPluginBlocklistState(plugin, "1", "1.9"); + blocklistState = Services.blocklist.getPluginBlocklistState(plugin, "1", "1.9"); do_check_neq(blocklistState, Components.interfaces.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE); do_check_neq(blocklistState, Components.interfaces.nsIBlocklistService.STATE_VULNERABLE_UPDATE_AVAILABLE); @@ -165,7 +164,6 @@ function run_test() { startupManager(); gPluginHost = Components.classes["@mozilla.org/plugin/host;1"].getService(Components.interfaces.nsIPluginHost); - gBlocklistService = Components.classes["@mozilla.org/extensions/blocklist;1"].getService(Components.interfaces.nsIBlocklistService); gNotifier = Components.classes["@mozilla.org/extensions/blocklist;1"].getService(Components.interfaces.nsITimerCallback); Services.obs.addObserver(observer, "blocklist-updated"); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_proxies.js b/toolkit/mozapps/extensions/test/xpcshell/test_proxies.js index d870f0110997..c72fbe55adde 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_proxies.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_proxies.js @@ -37,8 +37,6 @@ var METADATA = { }] }; -const ios = AM_Cc["@mozilla.org/network/io-service;1"].getService(AM_Ci.nsIIOService); - const gHaveSymlinks = AppConstants.platform != "win"; @@ -140,14 +138,14 @@ async function run_proxy_tests() { do_check_eq(addon.permissions & AddonManager.PERM_CAN_UPGRADE, 0); // Check that getResourceURI points to the right place. - do_check_eq(ios.newFileURI(ADDONS[i].directory).spec, + do_check_eq(Services.io.newFileURI(ADDONS[i].directory).spec, fixURL(addon.getResourceURI().spec), `Base resource URL resolves as expected`); let file = ADDONS[i].directory.clone(); file.append("install.rdf"); - do_check_eq(ios.newFileURI(file).spec, + do_check_eq(Services.io.newFileURI(file).spec, fixURL(addon.getResourceURI("install.rdf").spec), `Resource URLs resolve as expected`); @@ -226,4 +224,3 @@ async function run_symlink_tests() { tempDirectory.remove(true); }); } - diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_startup.js b/toolkit/mozapps/extensions/test/xpcshell/test_startup.js index b88367a8cb22..0770ef041ea6 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_startup.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_startup.js @@ -117,9 +117,7 @@ var gCachePurged = false; function run_test() { do_test_pending("test_startup main"); - let obs = AM_Cc["@mozilla.org/observer-service;1"]. - getService(AM_Ci.nsIObserverService); - obs.addObserver({ + Services.obs.addObserver({ observe(aSubject, aTopic, aData) { gCachePurged = true; } diff --git a/toolkit/mozapps/extensions/test/xpinstall/browser_auth.js b/toolkit/mozapps/extensions/test/xpinstall/browser_auth.js index 1078d7e7f29b..9034a169fc67 100644 --- a/toolkit/mozapps/extensions/test/xpinstall/browser_auth.js +++ b/toolkit/mozapps/extensions/test/xpinstall/browser_auth.js @@ -8,9 +8,7 @@ function test() { Harness.installsCompletedCallback = finish_test; Harness.setup(); - var prefs = Cc["@mozilla.org/preferences-service;1"]. - getService(Ci.nsIPrefBranch); - prefs.setIntPref("network.auth.subresource-http-auth-allow", 2); + Services.prefs.setIntPref("network.auth.subresource-http-auth-allow", 2); var pm = Services.perms; pm.add(makeURI("http://example.com/"), "install", pm.ALLOW_ACTION); diff --git a/toolkit/mozapps/extensions/test/xpinstall/browser_cookies2.js b/toolkit/mozapps/extensions/test/xpinstall/browser_cookies2.js index 61b87e377624..dc8915a57a93 100644 --- a/toolkit/mozapps/extensions/test/xpinstall/browser_cookies2.js +++ b/toolkit/mozapps/extensions/test/xpinstall/browser_cookies2.js @@ -7,10 +7,8 @@ function test() { Harness.installsCompletedCallback = finish_test; Harness.setup(); - var cm = Components.classes["@mozilla.org/cookiemanager;1"] - .getService(Components.interfaces.nsICookieManager); - cm.add("example.com", "/browser/" + RELATIVE_DIR, "xpinstall", "true", false, - false, true, (Date.now() / 1000) + 60, {}); + Services.cookies.add("example.com", "/browser/" + RELATIVE_DIR, "xpinstall", + "true", false, false, true, (Date.now() / 1000) + 60, {}); var pm = Services.perms; pm.add(makeURI("http://example.com/"), "install", pm.ALLOW_ACTION); @@ -29,9 +27,8 @@ function install_ended(install, addon) { function finish_test(count) { is(count, 1, "1 Add-on should have been successfully installed"); - var cm = Components.classes["@mozilla.org/cookiemanager;1"] - .getService(Components.interfaces.nsICookieManager); - cm.remove("example.com", "xpinstall", "/browser/" + RELATIVE_DIR, false, {}); + Services.cookies.remove("example.com", "xpinstall", "/browser/" + RELATIVE_DIR, + false, {}); Services.perms.remove(makeURI("http://example.com"), "install"); diff --git a/toolkit/mozapps/extensions/test/xpinstall/browser_cookies3.js b/toolkit/mozapps/extensions/test/xpinstall/browser_cookies3.js index 2d818e0b2e8d..8aa7ec4f54d4 100644 --- a/toolkit/mozapps/extensions/test/xpinstall/browser_cookies3.js +++ b/toolkit/mozapps/extensions/test/xpinstall/browser_cookies3.js @@ -7,10 +7,8 @@ function test() { Harness.installsCompletedCallback = finish_test; Harness.setup(); - var cm = Components.classes["@mozilla.org/cookiemanager;1"] - .getService(Components.interfaces.nsICookieManager); - cm.add("example.com", "/browser/" + RELATIVE_DIR, "xpinstall", "true", false, - false, true, (Date.now() / 1000) + 60, {}); + Services.cookies.add("example.com", "/browser/" + RELATIVE_DIR, "xpinstall", + "true", false, false, true, (Date.now() / 1000) + 60, {}); var pm = Services.perms; pm.add(makeURI("http://example.com/"), "install", pm.ALLOW_ACTION); @@ -31,9 +29,8 @@ function install_ended(install, addon) { function finish_test(count) { is(count, 1, "1 Add-on should have been successfully installed"); - var cm = Components.classes["@mozilla.org/cookiemanager;1"] - .getService(Components.interfaces.nsICookieManager); - cm.remove("example.com", "xpinstall", "/browser/" + RELATIVE_DIR, false, {}); + Services.cookies.remove("example.com", "xpinstall", "/browser/" + RELATIVE_DIR, + false, {}); Services.prefs.clearUserPref("network.cookie.cookieBehavior"); diff --git a/toolkit/mozapps/extensions/test/xpinstall/browser_cookies4.js b/toolkit/mozapps/extensions/test/xpinstall/browser_cookies4.js index 25d893416821..0518303df50b 100644 --- a/toolkit/mozapps/extensions/test/xpinstall/browser_cookies4.js +++ b/toolkit/mozapps/extensions/test/xpinstall/browser_cookies4.js @@ -8,10 +8,8 @@ function test() { Harness.installsCompletedCallback = finish_test; Harness.setup(); - var cm = Components.classes["@mozilla.org/cookiemanager;1"] - .getService(Components.interfaces.nsICookieManager); - cm.add("example.org", "/browser/" + RELATIVE_DIR, "xpinstall", "true", false, - false, true, (Date.now() / 1000) + 60, {}); + Services.cookies.add("example.org", "/browser/" + RELATIVE_DIR, "xpinstall", + "true", false, false, true, (Date.now() / 1000) + 60, {}); var pm = Services.perms; pm.add(makeURI("http://example.com/"), "install", pm.ALLOW_ACTION); @@ -31,9 +29,9 @@ function download_failed(install) { function finish_test(count) { is(count, 0, "No add-ons should have been installed"); - var cm = Components.classes["@mozilla.org/cookiemanager;1"] - .getService(Components.interfaces.nsICookieManager); - cm.remove("example.org", "xpinstall", "/browser/" + RELATIVE_DIR, false, {}); + + Services.cookies.remove("example.org", "xpinstall", "/browser/" + RELATIVE_DIR, + false, {}); Services.prefs.clearUserPref("network.cookie.cookieBehavior"); Services.perms.remove(makeURI("http://example.com"), "install"); From e4262540c6b437382d96c14ea433ee2c147fc66c Mon Sep 17 00:00:00 2001 From: Mark Banner Date: Wed, 22 Nov 2017 13:36:34 +0000 Subject: [PATCH 48/77] Bug 1417944 - Enable ESLint rule mozilla/use-services for toolkit/. r=mossop MozReview-Commit-ID: JhHXYma5Adp --HG-- extra : rebase_source : 79d9876a82b39070d5d3cd1e9464e23d113c88a8 --- toolkit/.eslintrc.js | 13 +++++- toolkit/components/.eslintrc.js | 7 --- toolkit/modules/LoadContextInfo.jsm | 2 + toolkit/modules/Promise.jsm | 1 + toolkit/mozapps/downloads/DownloadLastDir.jsm | 6 +-- toolkit/mozapps/downloads/DownloadUtils.jsm | 15 ++----- toolkit/mozapps/handling/content/dialog.js | 11 ++--- .../handling/nsContentDispatchChooser.js | 26 +++++------ toolkit/mozapps/preferences/changemp.js | 44 +++++++++---------- toolkit/mozapps/preferences/removemp.js | 20 ++++----- toolkit/mozapps/update/content/updates.js | 3 +- toolkit/mozapps/update/tests/chrome/utils.js | 4 +- .../lib/rules/use-services.js | 4 ++ 13 files changed, 73 insertions(+), 83 deletions(-) delete mode 100644 toolkit/components/.eslintrc.js diff --git a/toolkit/.eslintrc.js b/toolkit/.eslintrc.js index e24bc6285f62..8cb39d572bd3 100644 --- a/toolkit/.eslintrc.js +++ b/toolkit/.eslintrc.js @@ -7,5 +7,16 @@ module.exports = { "complexity": ["error", 41], "mozilla/no-task": "error", - } + + "mozilla/use-services": "error", + }, + + "overrides": [{ + // Turn off use-services for xml files. XBL bindings are going away, and + // working out the valid globals for those is difficult. + "files": "**/*.xml", + "rules": { + "mozilla/use-services": "off", + } + }] }; diff --git a/toolkit/components/.eslintrc.js b/toolkit/components/.eslintrc.js deleted file mode 100644 index 29135c6d90de..000000000000 --- a/toolkit/components/.eslintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -module.exports = { - rules: { - "mozilla/use-services": "error", - } -}; diff --git a/toolkit/modules/LoadContextInfo.jsm b/toolkit/modules/LoadContextInfo.jsm index 59c5fa620d70..8d135a25fcf1 100644 --- a/toolkit/modules/LoadContextInfo.jsm +++ b/toolkit/modules/LoadContextInfo.jsm @@ -11,5 +11,7 @@ */ this.EXPORTED_SYMBOLS = ["LoadContextInfo"]; +// XXX Bug 1417937 will remove this file. +// eslint-disable-next-line mozilla/use-services this.LoadContextInfo = Components.classes["@mozilla.org/load-context-info-factory;1"] .getService(Components.interfaces.nsILoadContextInfoFactory); diff --git a/toolkit/modules/Promise.jsm b/toolkit/modules/Promise.jsm index 0df4977aff75..ff7d02e247ef 100644 --- a/toolkit/modules/Promise.jsm +++ b/toolkit/modules/Promise.jsm @@ -96,6 +96,7 @@ this.Ci = Components.interfaces; this.Cu = Components.utils; this.Cr = Components.results; +// eslint-disable-next-line mozilla/use-services this.Cc["@mozilla.org/moz/jssubscript-loader;1"] .getService(this.Ci.mozIJSSubScriptLoader) .loadSubScript("resource://gre/modules/Promise-backend.js", this); diff --git a/toolkit/mozapps/downloads/DownloadLastDir.jsm b/toolkit/mozapps/downloads/DownloadLastDir.jsm index 4729a08cedec..c50dca526c0f 100644 --- a/toolkit/mozapps/downloads/DownloadLastDir.jsm +++ b/toolkit/mozapps/downloads/DownloadLastDir.jsm @@ -68,10 +68,8 @@ var observer = { } }; -var os = Components.classes["@mozilla.org/observer-service;1"] - .getService(Components.interfaces.nsIObserverService); -os.addObserver(observer, "last-pb-context-exited", true); -os.addObserver(observer, "browser:purge-session-history", true); +Services.obs.addObserver(observer, "last-pb-context-exited", true); +Services.obs.addObserver(observer, "browser:purge-session-history", true); function readLastDirPref() { try { diff --git a/toolkit/mozapps/downloads/DownloadUtils.jsm b/toolkit/mozapps/downloads/DownloadUtils.jsm index 7258bdd1efdd..29d6ee237da1 100644 --- a/toolkit/mozapps/downloads/DownloadUtils.jsm +++ b/toolkit/mozapps/downloads/DownloadUtils.jsm @@ -94,9 +94,7 @@ Object.defineProperty(this, "gBundle", { enumerable: true, get() { delete this.gBundle; - return this.gBundle = Cc["@mozilla.org/intl/stringbundle;1"]. - getService(Ci.nsIStringBundleService). - createBundle(kDownloadProperties); + return this.gBundle = Services.strings.createBundle(kDownloadProperties); }, }); @@ -385,17 +383,13 @@ this.DownloadUtils = { * @return A pair: [display host for the URI string, full host name] */ getURIHost: function DU_getURIHost(aURIString) { - let ioService = Cc["@mozilla.org/network/io-service;1"]. - getService(Ci.nsIIOService); - let eTLDService = Cc["@mozilla.org/network/effective-tld-service;1"]. - getService(Ci.nsIEffectiveTLDService); let idnService = Cc["@mozilla.org/network/idn-service;1"]. getService(Ci.nsIIDNService); // Get a URI that knows about its components let uri; try { - uri = ioService.newURI(aURIString); + uri = Services.io.newURI(aURIString); } catch (ex) { return ["", ""]; } @@ -415,7 +409,7 @@ this.DownloadUtils = { let displayHost; try { // This might fail if it's an IP address or doesn't have more than 1 part - let baseDomain = eTLDService.getBaseDomain(uri); + let baseDomain = Services.eTLD.getBaseDomain(uri); // Convert base domain for display; ignore the isAscii out param displayHost = idnService.convertToDisplayIDN(baseDomain, {}); @@ -555,7 +549,6 @@ function convertTimeUnitsUnits(aTime, aIndex) { */ function log(aMsg) { let msg = "DownloadUtils.jsm: " + (aMsg.join ? aMsg.join("") : aMsg); - Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService). - logStringMessage(msg); + Services.console.logStringMessage(msg); dump(msg + "\n"); } diff --git a/toolkit/mozapps/handling/content/dialog.js b/toolkit/mozapps/handling/content/dialog.js index dde6a1b2e523..550cd5623a02 100644 --- a/toolkit/mozapps/handling/content/dialog.js +++ b/toolkit/mozapps/handling/content/dialog.js @@ -34,6 +34,7 @@ var Cr = Components.results; var Cu = Components.utils; Cu.import("resource://gre/modules/SharedPromptUtils.jsm"); +Cu.import("resource://gre/modules/Services.jsm"); var dialog = { @@ -106,8 +107,6 @@ var dialog = { var items = document.getElementById("items"); var possibleHandlers = this._handlerInfo.possibleApplicationHandlers; var preferredHandler = this._handlerInfo.preferredApplicationHandler; - var ios = Cc["@mozilla.org/network/io-service;1"]. - getService(Ci.nsIIOService); for (let i = possibleHandlers.length - 1; i >= 0; --i) { let app = possibleHandlers.queryElementAt(i, Ci.nsIHandlerApp); let elm = document.createElement("richlistitem"); @@ -117,10 +116,10 @@ var dialog = { if (app instanceof Ci.nsILocalHandlerApp) { // See if we have an nsILocalHandlerApp and set the icon - let uri = ios.newFileURI(app.executable); + let uri = Services.io.newFileURI(app.executable); elm.setAttribute("image", "moz-icon://" + uri.spec + "?size=32"); } else if (app instanceof Ci.nsIWebHandlerApp) { - let uri = ios.newURI(app.uriTemplate); + let uri = Services.io.newURI(app.uriTemplate); if (/^https?$/.test(uri.scheme)) { // Unfortunately we can't use the favicon service to get the favicon, // because the service looks for a record with the exact URL we give @@ -168,9 +167,7 @@ var dialog = { fp.open(rv => { if (rv == Ci.nsIFilePicker.returnOK && fp.file) { - let uri = Cc["@mozilla.org/network/util;1"]. - getService(Ci.nsIIOService). - newFileURI(fp.file); + let uri = Services.io.newFileURI(fp.file); let handlerApp = Cc["@mozilla.org/uriloader/local-handler-app;1"]. createInstance(Ci.nsILocalHandlerApp); diff --git a/toolkit/mozapps/handling/nsContentDispatchChooser.js b/toolkit/mozapps/handling/nsContentDispatchChooser.js index 21a78080535b..7fa9861a8940 100644 --- a/toolkit/mozapps/handling/nsContentDispatchChooser.js +++ b/toolkit/mozapps/handling/nsContentDispatchChooser.js @@ -2,13 +2,15 @@ * 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/. */ -Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); - // Constants const Cc = Components.classes; const Ci = Components.interfaces; const Cr = Components.results; +const Cu = Components.utils; + +Cu.import("resource://gre/modules/XPCOMUtils.jsm"); +Cu.import("resource://gre/modules/Services.jsm"); const CONTENT_HANDLING_URL = "chrome://mozapps/content/handling/dialog.xul"; const STRINGBUNDLE_URL = "chrome://mozapps/locale/handling/handling.properties"; @@ -31,12 +33,8 @@ nsContentDispatchChooser.prototype = window = aWindowContext.getInterface(Ci.nsIDOMWindow); } catch (e) { /* it's OK to not have a window */ } - var sbs = Cc["@mozilla.org/intl/stringbundle;1"]. - getService(Ci.nsIStringBundleService); - var bundle = sbs.createBundle(STRINGBUNDLE_URL); + var bundle = Services.strings.createBundle(STRINGBUNDLE_URL); - var xai = Cc["@mozilla.org/xre/app-info;1"]. - getService(Ci.nsIXULAppInfo); // TODO when this is hooked up for content, we will need different strings // for most of these var arr = [bundle.GetStringFromName("protocol.title"), @@ -47,7 +45,7 @@ nsContentDispatchChooser.prototype = [aURI.scheme], 1), bundle.GetStringFromName("protocol.checkbox.accesskey"), bundle.formatStringFromName("protocol.checkbox.extra", - [xai.name], 1)]; + [Services.appinfo.name], 1)]; var params = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray); let SupportsString = Components.Constructor( @@ -62,13 +60,11 @@ nsContentDispatchChooser.prototype = params.appendElement(aURI); params.appendElement(aWindowContext); - var ww = Cc["@mozilla.org/embedcomp/window-watcher;1"]. - getService(Ci.nsIWindowWatcher); - ww.openWindow(window, - CONTENT_HANDLING_URL, - null, - "chrome,dialog=yes,resizable,centerscreen", - params); + Services.ww.openWindow(window, + CONTENT_HANDLING_URL, + null, + "chrome,dialog=yes,resizable,centerscreen", + params); }, // nsISupports diff --git a/toolkit/mozapps/preferences/changemp.js b/toolkit/mozapps/preferences/changemp.js index 791f3a2f91c3..07d8d889e3eb 100644 --- a/toolkit/mozapps/preferences/changemp.js +++ b/toolkit/mozapps/preferences/changemp.js @@ -6,6 +6,8 @@ const { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components; +Cu.import("resource://gre/modules/Services.jsm"); + const nsPK11TokenDB = "@mozilla.org/security/pk11tokendb;1"; const nsIPK11TokenDB = Components.interfaces.nsIPK11TokenDB; const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock; @@ -69,8 +71,6 @@ function process() { function setPassword() { var pk11db = Components.classes[nsPK11TokenDB].getService(nsIPK11TokenDB); - var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] - .getService(Components.interfaces.nsIPromptService); var token = pk11db.getInternalKeyToken(); var oldpwbox = document.getElementById("oldpw"); @@ -100,23 +100,23 @@ function setPassword() { var secmoddb = Components.classes[nsPKCS11ModuleDB].getService(nsIPKCS11ModuleDB); if (secmoddb.isFIPSEnabled) { // empty passwords are not allowed in FIPS mode - promptService.alert(window, - bundle.getString("pw_change_failed_title"), - bundle.getString("pw_change2empty_in_fips_mode")); + Services.prompt.alert(window, + bundle.getString("pw_change_failed_title"), + bundle.getString("pw_change2empty_in_fips_mode")); passok = 0; } } if (passok) { token.changePassword(oldpw, pw1.value); if (pw1.value == "") { - promptService.alert(window, - bundle.getString("pw_change_success_title"), - bundle.getString("pw_erased_ok") - + " " + bundle.getString("pw_empty_warning")); + Services.prompt.alert(window, + bundle.getString("pw_change_success_title"), + bundle.getString("pw_erased_ok") + + " " + bundle.getString("pw_empty_warning")); } else { - promptService.alert(window, - bundle.getString("pw_change_success_title"), - bundle.getString("pw_change_ok")); + Services.prompt.alert(window, + bundle.getString("pw_change_success_title"), + bundle.getString("pw_change_ok")); } success = true; } @@ -124,22 +124,22 @@ function setPassword() { } else { oldpwbox.focus(); oldpwbox.setAttribute("value", ""); - promptService.alert(window, - bundle.getString("pw_change_failed_title"), - bundle.getString("incorrect_pw")); + Services.prompt.alert(window, + bundle.getString("pw_change_failed_title"), + bundle.getString("incorrect_pw")); } } catch (e) { - promptService.alert(window, - bundle.getString("pw_change_failed_title"), - bundle.getString("failed_pw_change")); + Services.prompt.alert(window, + bundle.getString("pw_change_failed_title"), + bundle.getString("failed_pw_change")); } } else { token.initPassword(pw1.value); if (pw1.value == "") { - promptService.alert(window, - bundle.getString("pw_change_success_title"), - bundle.getString("pw_not_wanted") - + " " + bundle.getString("pw_empty_warning")); + Services.prompt.alert(window, + bundle.getString("pw_change_success_title"), + bundle.getString("pw_not_wanted") + + " " + bundle.getString("pw_empty_warning")); } success = true; } diff --git a/toolkit/mozapps/preferences/removemp.js b/toolkit/mozapps/preferences/removemp.js index 3078c3662c94..7dcc206d2af9 100644 --- a/toolkit/mozapps/preferences/removemp.js +++ b/toolkit/mozapps/preferences/removemp.js @@ -4,15 +4,14 @@ * 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/. */ +Components.utils.import("resource://gre/modules/Services.jsm"); + var gRemovePasswordDialog = { _token: null, _bundle: null, - _prompt: null, _okButton: null, _password: null, init() { - this._prompt = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] - .getService(Components.interfaces.nsIPromptService); this._bundle = document.getElementById("bundlePreferences"); this._okButton = document.documentElement.getButton("accept"); @@ -36,17 +35,16 @@ var gRemovePasswordDialog = { removePassword() { if (this._token.checkPassword(this._password.value)) { this._token.changePassword(this._password.value, ""); - this._prompt.alert(window, - this._bundle.getString("pw_change_success_title"), - this._bundle.getString("pw_erased_ok") - + " " + this._bundle.getString("pw_empty_warning")); + Services.prompt.alert(window, + this._bundle.getString("pw_change_success_title"), + this._bundle.getString("pw_erased_ok") + + " " + this._bundle.getString("pw_empty_warning")); } else { this._password.value = ""; this._password.focus(); - this._prompt.alert(window, - this._bundle.getString("pw_change_failed_title"), - this._bundle.getString("incorrect_pw")); + Services.prompt.alert(window, + this._bundle.getString("pw_change_failed_title"), + this._bundle.getString("incorrect_pw")); } }, }; - diff --git a/toolkit/mozapps/update/content/updates.js b/toolkit/mozapps/update/content/updates.js index 948cf6e70aed..d76fd67ae216 100644 --- a/toolkit/mozapps/update/content/updates.js +++ b/toolkit/mozapps/update/content/updates.js @@ -1349,8 +1349,7 @@ var gFinishedPage = { } // Restart the application - CoC["@mozilla.org/toolkit/app-startup;1"].getService(CoI.nsIAppStartup). - quit(CoI.nsIAppStartup.eAttemptQuit | CoI.nsIAppStartup.eRestart); + Services.startup.quit(CoI.nsIAppStartup.eAttemptQuit | CoI.nsIAppStartup.eRestart); }, /** diff --git a/toolkit/mozapps/update/tests/chrome/utils.js b/toolkit/mozapps/update/tests/chrome/utils.js index 86adfdb39552..dbfe79c81d9d 100644 --- a/toolkit/mozapps/update/tests/chrome/utils.js +++ b/toolkit/mozapps/update/tests/chrome/utils.js @@ -480,9 +480,7 @@ function delayedDefaultCallback() { * @return nsIFile for the continue file. */ function getContinueFile() { - let continueFile = Cc["@mozilla.org/file/directory_service;1"]. - getService(Ci.nsIProperties). - get("CurWorkD", Ci.nsIFile); + let continueFile = Services.dirsvc.get("CurWorkD", Ci.nsIFile); let continuePath = REL_PATH_DATA + "continue"; let continuePathParts = continuePath.split("/"); for (let i = 0; i < continuePathParts.length; ++i) { diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/rules/use-services.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/rules/use-services.js index c763216fc654..3f92f79edc1b 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/rules/use-services.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/rules/use-services.js @@ -109,6 +109,10 @@ function getInterfacesFromServicesFile() { } }); + // nsIPropertyBag2 is used for system-info, but it is also used for other + // services and items as well, so we can't really warn for it. + delete servicesASTParser.result.nsIPropertyBag2; + return servicesASTParser.result; } From efaca11893ced3f4f7280b7603fb74b6ca7a115a Mon Sep 17 00:00:00 2001 From: Mark Banner Date: Fri, 24 Nov 2017 14:46:33 +0000 Subject: [PATCH 49/77] Bug 1420422 - Enable ESLint rule mozilla/use-services for services/. r=markh MozReview-Commit-ID: LQiMr3ppDuG --HG-- extra : rebase_source : f509b5360e92db58f14b0f6a41c06e10fe7dd170 --- services/.eslintrc.js | 2 ++ services/common/blocklist-clients.js | 4 +-- services/common/observers.js | 10 +++----- .../tests/unit/test_blocklist_pinning.js | 17 ++++++------- services/crypto/tests/unit/head_helpers.js | 1 + services/sync/Weave.js | 5 ++-- services/sync/modules/engines/bookmarks.js | 4 +-- services/sync/modules/engines/prefs.js | 6 ++--- services/sync/modules/util.js | 2 +- services/sync/tests/unit/test_addon_utils.js | 7 ++---- services/sync/tests/unit/test_addons_store.js | 18 ++++--------- .../sync/tests/unit/test_bookmark_engine.js | 5 +--- .../tests/unit/test_places_guid_downgrade.js | 4 +-- .../sync/tests/unit/test_resource_header.js | 3 +-- services/sync/tests/unit/test_utils_misc.js | 2 +- .../extensions/tps/components/tps-cmdline.js | 6 ++--- .../tps/extensions/tps/resource/logger.jsm | 9 +++---- .../extensions/tps/resource/modules/prefs.jsm | 25 ++++++++----------- .../extensions/tps/resource/modules/tabs.jsm | 6 ++--- .../tps/resource/modules/windows.jsm | 5 ++-- .../sync/tps/extensions/tps/resource/quit.js | 7 ++---- .../sync/tps/extensions/tps/resource/tps.jsm | 6 ++--- 22 files changed, 57 insertions(+), 97 deletions(-) diff --git a/services/.eslintrc.js b/services/.eslintrc.js index 120e4d5de523..212b5eaaf3a7 100644 --- a/services/.eslintrc.js +++ b/services/.eslintrc.js @@ -6,5 +6,7 @@ module.exports = { ], "rules": { "no-throw-literal": 2, + + "mozilla/use-services": "error", }, } diff --git a/services/common/blocklist-clients.js b/services/common/blocklist-clients.js index 562c1fbfbaa1..f1c00286223f 100644 --- a/services/common/blocklist-clients.js +++ b/services/common/blocklist-clients.js @@ -381,8 +381,6 @@ async function updatePinningList(records) { if (!Services.prefs.getBoolPref(PREF_BLOCKLIST_PINNING_ENABLED)) { return; } - const appInfo = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULAppInfo); const siteSecurityService = Cc["@mozilla.org/ssservice;1"] .getService(Ci.nsISiteSecurityService); @@ -394,7 +392,7 @@ async function updatePinningList(records) { for (let item of records) { try { const {pinType, pins = [], versions} = item; - if (versions.indexOf(appInfo.version) != -1) { + if (versions.indexOf(Services.appinfo.version) != -1) { if (pinType == "KeyPin" && pins.length) { siteSecurityService.setKeyPins(item.hostName, item.includeSubdomains, diff --git a/services/common/observers.js b/services/common/observers.js index 71c538c16996..a00320ef4f19 100644 --- a/services/common/observers.js +++ b/services/common/observers.js @@ -10,6 +10,7 @@ var Cr = Components.results; var Cu = Components.utils; Cu.import("resource://gre/modules/XPCOMUtils.jsm"); +Cu.import("resource://gre/modules/Services.jsm"); /** * A service for adding, removing and notifying observers of notifications. @@ -36,7 +37,7 @@ this.Observers = { add(topic, callback, thisObject) { let observer = new Observer(topic, callback, thisObject); this._cache.push(observer); - this._service.addObserver(observer, topic, true); + Services.obs.addObserver(observer, topic, true); return observer; }, @@ -62,7 +63,7 @@ this.Observers = { v.callback == callback && v.thisObject == thisObject); if (observer) { - this._service.removeObserver(observer, topic); + Services.obs.removeObserver(observer, topic); this._cache.splice(this._cache.indexOf(observer), 1); } else { throw new Error("Attempt to remove non-existing observer"); @@ -88,12 +89,9 @@ this.Observers = { notify(topic, subject, data) { subject = (typeof subject == "undefined") ? null : new Subject(subject); data = (typeof data == "undefined") ? null : data; - this._service.notifyObservers(subject, topic, data); + Services.obs.notifyObservers(subject, topic, data); }, - _service: Cc["@mozilla.org/observer-service;1"]. - getService(Ci.nsIObserverService), - /** * A cache of observers that have been added. * diff --git a/services/common/tests/unit/test_blocklist_pinning.js b/services/common/tests/unit/test_blocklist_pinning.js index 6bd7137c3505..d394e52f063b 100644 --- a/services/common/tests/unit/test_blocklist_pinning.js +++ b/services/common/tests/unit/test_blocklist_pinning.js @@ -7,7 +7,7 @@ Cu.import("resource://testing-common/httpd.js"); const BinaryInputStream = CC("@mozilla.org/binaryinputstream;1", "nsIBinaryInputStream", "setInputStream"); -// First, we need to setup appInfo or we can't do version checks +// First, we need to setup Services.appinfo or we can't do version checks var id = "xpcshell@tests.mozilla.org"; var appName = "XPCShell"; var version = "1"; @@ -166,9 +166,6 @@ function run_test() { // get a response for a given request from sample data function getSampleResponse(req, port) { - const appInfo = Cc["@mozilla.org/xre/app-info;1"] - .getService(Ci.nsIXULAppInfo); - const responses = { "OPTIONS": { "sampleHeaders": [ @@ -216,7 +213,7 @@ function getSampleResponse(req, port) { "expires": new Date().getTime() + 1000000, "pins": ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=", "M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE="], - "versions": [appInfo.version], + "versions": [Services.appinfo.version], "id": "78cf8900-fdea-4ce5-f8fb-b78710617718", "last_modified": 3000 }]}) @@ -237,7 +234,7 @@ function getSampleResponse(req, port) { "expires": new Date().getTime() + 1000000, "pins": ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=", "M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE="], - "versions": [appInfo.version], + "versions": [Services.appinfo.version], "id": "dabafde9-df4a-ddba-2548-748da04cc02c", "last_modified": 4000 }, { @@ -247,7 +244,7 @@ function getSampleResponse(req, port) { "expires": new Date().getTime() + 1000000, "pins": ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=", "M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE="], - "versions": [appInfo.version, "some other version that won't match"], + "versions": [Services.appinfo.version, "some other version that won't match"], "id": "dabafde9-df4a-ddba-2548-748da04cc02d", "last_modified": 4000 }, { @@ -265,7 +262,7 @@ function getSampleResponse(req, port) { "hostName": "five.example.com", "includeSubdomains": false, "expires": new Date().getTime() + 1000000, - "versions": [appInfo.version, "some version that won't match"], + "versions": [Services.appinfo.version, "some version that won't match"], "id": "dabafde9-df4a-ddba-2548-748da04cc032", "last_modified": 4000 }]}) @@ -299,7 +296,7 @@ function getSampleResponse(req, port) { "hostName": "missingpins.example.com", "includeSubdomains": false, "expires": new Date().getTime() + 1000000, - "versions": [appInfo.version], + "versions": [Services.appinfo.version], "id": "dabafde9-df4a-ddba-2548-748da04cc031", "last_modified": 5000 }, { @@ -307,7 +304,7 @@ function getSampleResponse(req, port) { "hostName": "five.example.com", "includeSubdomains": true, "expires": new Date().getTime() + 1000000, - "versions": [appInfo.version, "some version that won't match"], + "versions": [Services.appinfo.version, "some version that won't match"], "id": "dabafde9-df4a-ddba-2548-748da04cc032", "last_modified": 5000 }]}) diff --git a/services/crypto/tests/unit/head_helpers.js b/services/crypto/tests/unit/head_helpers.js index 13a4358ba440..f754e7e3d668 100644 --- a/services/crypto/tests/unit/head_helpers.js +++ b/services/crypto/tests/unit/head_helpers.js @@ -9,6 +9,7 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm"); try { // In the context of xpcshell tests, there won't be a default AppInfo + // eslint-disable-next-line mozilla/use-services Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULAppInfo); } catch (ex) { diff --git a/services/sync/Weave.js b/services/sync/Weave.js index 76b774946d9f..752b1e317eed 100644 --- a/services/sync/Weave.js +++ b/services/sync/Weave.js @@ -155,9 +155,8 @@ AboutWeaveLog.prototype = { // view. That way links to files can be opened. make sure we use the correct // origin attributes when creating the principal for accessing the // about:sync-log data. - let ssm = Cc["@mozilla.org/scriptsecuritymanager;1"] - .getService(Ci.nsIScriptSecurityManager); - let principal = ssm.createCodebasePrincipal(uri, aLoadInfo.originAttributes); + let principal = Services.scriptSecurityManager.createCodebasePrincipal(uri, + aLoadInfo.originAttributes); channel.owner = principal; return channel; diff --git a/services/sync/modules/engines/bookmarks.js b/services/sync/modules/engines/bookmarks.js index 88973ed5820a..e60d8e4065a1 100644 --- a/services/sync/modules/engines/bookmarks.js +++ b/services/sync/modules/engines/bookmarks.js @@ -21,9 +21,7 @@ Cu.import("resource://services-sync/util.js"); XPCOMUtils.defineLazyModuleGetter(this, "BookmarkValidator", "resource://services-sync/bookmark_validator.js"); XPCOMUtils.defineLazyGetter(this, "PlacesBundle", () => { - let bundleService = Cc["@mozilla.org/intl/stringbundle;1"] - .getService(Ci.nsIStringBundleService); - return bundleService.createBundle("chrome://places/locale/places.properties"); + return Services.strings.createBundle("chrome://places/locale/places.properties"); }); XPCOMUtils.defineLazyModuleGetter(this, "PlacesUtils", "resource://gre/modules/PlacesUtils.jsm"); diff --git a/services/sync/modules/engines/prefs.js b/services/sync/modules/engines/prefs.js index 6d6eb3f517ed..c78ef0b8bfa3 100644 --- a/services/sync/modules/engines/prefs.js +++ b/services/sync/modules/engines/prefs.js @@ -91,10 +91,8 @@ PrefStore.prototype = { }, _getSyncPrefs() { - let syncPrefs = Cc["@mozilla.org/preferences-service;1"] - .getService(Ci.nsIPrefService) - .getBranch(PREF_SYNC_PREFS_PREFIX) - .getChildList("", {}); + let syncPrefs = Services.prefs.getBranch(PREF_SYNC_PREFS_PREFIX) + .getChildList("", {}); // Also sync preferences that determine which prefs get synced. let controlPrefs = syncPrefs.map(pref => PREF_SYNC_PREFS_PREFIX + pref); return controlPrefs.concat(syncPrefs); diff --git a/services/sync/modules/util.js b/services/sync/modules/util.js index b44f35c9d290..b1ad514bf0d0 100644 --- a/services/sync/modules/util.js +++ b/services/sync/modules/util.js @@ -616,7 +616,7 @@ this.Utils = { } let system = // 'device' is defined on unix systems - Cc["@mozilla.org/system-info;1"].getService(Ci.nsIPropertyBag2).get("device") || + Services.sysinfo.get("device") || hostname || // fall back on ua info string Cc["@mozilla.org/network/protocol;1?name=http"].getService(Ci.nsIHttpProtocolHandler).oscpu; diff --git a/services/sync/tests/unit/test_addon_utils.js b/services/sync/tests/unit/test_addon_utils.js index 406338c59040..7e9514d5e86b 100644 --- a/services/sync/tests/unit/test_addon_utils.js +++ b/services/sync/tests/unit/test_addon_utils.js @@ -69,9 +69,6 @@ add_test(function test_handle_empty_source_uri() { add_test(function test_ignore_untrusted_source_uris() { _("Ensures that source URIs from insecure schemes are rejected."); - let ioService = Cc["@mozilla.org/network/io-service;1"] - .getService(Ci.nsIIOService); - const bad = ["http://example.com/foo.xpi", "ftp://example.com/foo.xpi", "silly://example.com/foo.xpi"]; @@ -79,7 +76,7 @@ add_test(function test_ignore_untrusted_source_uris() { const good = ["https://example.com/foo.xpi"]; for (let s of bad) { - let sourceURI = ioService.newURI(s); + let sourceURI = Services.io.newURI(s); let addon = {sourceURI, name: "bad", id: "bad"}; let canInstall = AddonUtils.canInstallAddon(addon); @@ -87,7 +84,7 @@ add_test(function test_ignore_untrusted_source_uris() { } for (let s of good) { - let sourceURI = ioService.newURI(s); + let sourceURI = Services.io.newURI(s); let addon = {sourceURI, name: "good", id: "good"}; let canInstall = AddonUtils.canInstallAddon(addon); diff --git a/services/sync/tests/unit/test_addons_store.js b/services/sync/tests/unit/test_addons_store.js index f5a823650d44..6b854c521d7b 100644 --- a/services/sync/tests/unit/test_addons_store.js +++ b/services/sync/tests/unit/test_addons_store.js @@ -295,12 +295,6 @@ add_test(function test_addon_syncability() { do_check_false(store.isSourceURITrusted(null)); - function createURI(s) { - let service = Components.classes["@mozilla.org/network/io-service;1"] - .getService(Components.interfaces.nsIIOService); - return service.newURI(s); - } - let trusted = [ "https://addons.mozilla.org/foo", "https://other.example.com/foo" @@ -313,20 +307,20 @@ add_test(function test_addon_syncability() { ]; for (let uri of trusted) { - do_check_true(store.isSourceURITrusted(createURI(uri))); + do_check_true(store.isSourceURITrusted(Services.io.newURI(uri))); } for (let uri of untrusted) { - do_check_false(store.isSourceURITrusted(createURI(uri))); + do_check_false(store.isSourceURITrusted(Services.io.newURI(uri))); } Svc.Prefs.set("addons.trustedSourceHostnames", ""); for (let uri of trusted) { - do_check_false(store.isSourceURITrusted(createURI(uri))); + do_check_false(store.isSourceURITrusted(Services.io.newURI(uri))); } Svc.Prefs.set("addons.trustedSourceHostnames", "addons.mozilla.org"); - do_check_true(store.isSourceURITrusted(createURI("https://addons.mozilla.org/foo"))); + do_check_true(store.isSourceURITrusted(Services.io.newURI("https://addons.mozilla.org/foo"))); Svc.Prefs.reset("addons.trustedSourceHostnames"); @@ -356,9 +350,7 @@ add_test(function test_ignore_hotfixes() { do_check_false(store.isAddonSyncable(dummy)); // Verify that int values don't throw off checking. - let prefSvc = Cc["@mozilla.org/preferences-service;1"] - .getService(Ci.nsIPrefService) - .getBranch("extensions."); + let prefSvc = Services.prefs.getBranch("extensions."); // Need to delete pref before changing type. prefSvc.deleteBranch("hotfix.id"); prefSvc.setIntPref("hotfix.id", 0xdeadbeef); diff --git a/services/sync/tests/unit/test_bookmark_engine.js b/services/sync/tests/unit/test_bookmark_engine.js index a57294ec4306..7da8d175ac0e 100644 --- a/services/sync/tests/unit/test_bookmark_engine.js +++ b/services/sync/tests/unit/test_bookmark_engine.js @@ -253,10 +253,7 @@ async function test_restoreOrImport(aReplace) { }); _(`Get Firefox!: ${bmk1.guid}`); - let dirSvc = Cc["@mozilla.org/file/directory_service;1"] - .getService(Ci.nsIProperties); - - let backupFile = dirSvc.get("TmpD", Ci.nsIFile); + let backupFile = Services.dirsvc.get("TmpD", Ci.nsIFile); _("Make a backup."); backupFile.append("t_b_e_" + Date.now() + ".json"); diff --git a/services/sync/tests/unit/test_places_guid_downgrade.js b/services/sync/tests/unit/test_places_guid_downgrade.js index 2b24a0e739fe..48b31242fb84 100644 --- a/services/sync/tests/unit/test_places_guid_downgrade.js +++ b/services/sync/tests/unit/test_places_guid_downgrade.js @@ -9,8 +9,6 @@ Cu.import("resource://services-sync/engines/bookmarks.js"); Cu.import("resource://services-sync/service.js"); const kDBName = "places.sqlite"; -const storageSvc = Cc["@mozilla.org/storage/service;1"] - .getService(Ci.mozIStorageService); function setPlacesDatabase(aFileName) { removePlacesDatabase(); @@ -43,7 +41,7 @@ add_test(function test_initial_state() { // it to be. let dbFile = gSyncProfile.clone(); dbFile.append(kDBName); - let db = storageSvc.openUnsharedDatabase(dbFile); + let db = Services.storage.openUnsharedDatabase(dbFile); let stmt = db.createStatement("PRAGMA journal_mode"); do_check_true(stmt.executeStep()); diff --git a/services/sync/tests/unit/test_resource_header.js b/services/sync/tests/unit/test_resource_header.js index f95df8b407a6..2af52e6044a3 100644 --- a/services/sync/tests/unit/test_resource_header.js +++ b/services/sync/tests/unit/test_resource_header.js @@ -40,8 +40,7 @@ function triggerRedirect() { "PROXY localhost:" + HTTP_PORT + "';" + "}"; - let prefsService = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService); - let prefs = prefsService.getBranch("network.proxy."); + let prefs = Services.prefs.getBranch("network.proxy."); prefs.setIntPref("type", 2); prefs.setCharPref("autoconfig_url", "data:text/plain," + PROXY_FUNCTION); } diff --git a/services/sync/tests/unit/test_utils_misc.js b/services/sync/tests/unit/test_utils_misc.js index e14fa0e547e0..b46d5b9b01a7 100644 --- a/services/sync/tests/unit/test_utils_misc.js +++ b/services/sync/tests/unit/test_utils_misc.js @@ -12,7 +12,7 @@ add_test(function test_default_device_name() { // This is obviously tied to the implementation, but we want early warning // if any of these things fail. // We really want one of these 2 to provide a value. - let hostname = Cc["@mozilla.org/system-info;1"].getService(Ci.nsIPropertyBag2).get("device") || + let hostname = Services.sysinfo.get("device") || Cc["@mozilla.org/network/dns-service;1"].getService(Ci.nsIDNSService).myHostName; _("hostname is " + hostname); ok(hostname.length > 0); diff --git a/services/sync/tps/extensions/tps/components/tps-cmdline.js b/services/sync/tps/extensions/tps/components/tps-cmdline.js index 6f3498f434fb..f4847e23b9b6 100644 --- a/services/sync/tps/extensions/tps/components/tps-cmdline.js +++ b/services/sync/tps/extensions/tps/components/tps-cmdline.js @@ -63,10 +63,8 @@ TPSCmdLineHandler.prototype = { const onStartupFinished = () => { Services.obs.removeObserver(onStartupFinished, "browser-delayed-startup-finished"); /* Ignore the platform's online/offline status while running tests. */ - var ios = Components.classes["@mozilla.org/network/io-service;1"] - .getService(Components.interfaces.nsIIOService); - ios.manageOfflineStatus = false; - ios.offline = false; + Services.io.manageOfflineStatus = false; + Services.io.offline = false; Components.utils.import("resource://tps/tps.jsm"); Components.utils.import("resource://tps/quit.js", TPS); TPS.RunTestPhase(uri, phase, logfile, options).catch(err => TPS.DumpError("TestPhase failed", err)); diff --git a/services/sync/tps/extensions/tps/resource/logger.jsm b/services/sync/tps/extensions/tps/resource/logger.jsm index 1c7725f2686f..90222d9a998e 100644 --- a/services/sync/tps/extensions/tps/resource/logger.jsm +++ b/services/sync/tps/extensions/tps/resource/logger.jsm @@ -11,6 +11,8 @@ var EXPORTED_SYMBOLS = ["Logger"]; const {classes: Cc, interfaces: Ci, utils: Cu} = Components; +Cu.import("resource://gre/modules/Services.jsm"); + var Logger = { _foStream: null, _converter: null, @@ -22,12 +24,10 @@ var Logger = { return; } - let prefs = Cc["@mozilla.org/preferences-service;1"] - .getService(Ci.nsIPrefBranch); if (path) { - prefs.setCharPref("tps.logfile", path); + Services.prefs.setCharPref("tps.logfile", path); } else { - path = prefs.getCharPref("tps.logfile"); + path = Services.prefs.getCharPref("tps.logfile"); } this._file = Cc["@mozilla.org/file/local;1"] @@ -143,4 +143,3 @@ var Logger = { this.log("CROSSWEAVE TEST PASS: " + msg); }, }; - diff --git a/services/sync/tps/extensions/tps/resource/modules/prefs.jsm b/services/sync/tps/extensions/tps/resource/modules/prefs.jsm index a357d3a9d4cf..86b18c79b182 100644 --- a/services/sync/tps/extensions/tps/resource/modules/prefs.jsm +++ b/services/sync/tps/extensions/tps/resource/modules/prefs.jsm @@ -13,9 +13,7 @@ const {classes: Cc, interfaces: Ci, utils: Cu} = Components; const WEAVE_PREF_PREFIX = "services.sync.prefs.sync."; -var prefs = Cc["@mozilla.org/preferences-service;1"] - .getService(Ci.nsIPrefBranch); - +Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://tps/logger.jsm"); /** @@ -47,31 +45,31 @@ Preference.prototype = { // Determine if this pref is actually something Weave even looks at. let weavepref = WEAVE_PREF_PREFIX + this.name; try { - let syncPref = prefs.getBoolPref(weavepref); + let syncPref = Services.prefs.getBoolPref(weavepref); if (!syncPref) - prefs.setBoolPref(weavepref, true); + Services.prefs.setBoolPref(weavepref, true); } catch (e) { Logger.AssertTrue(false, "Weave doesn't sync pref " + this.name); } // Modify the pref; throw an exception if the pref type is different // than the value type specified in the test. - let prefType = prefs.getPrefType(this.name); + let prefType = Services.prefs.getPrefType(this.name); switch (prefType) { case Ci.nsIPrefBranch.PREF_INT: Logger.AssertEqual(typeof(this.value), "number", "Wrong type used for preference value"); - prefs.setIntPref(this.name, this.value); + Services.prefs.setIntPref(this.name, this.value); break; case Ci.nsIPrefBranch.PREF_STRING: Logger.AssertEqual(typeof(this.value), "string", "Wrong type used for preference value"); - prefs.setCharPref(this.name, this.value); + Services.prefs.setCharPref(this.name, this.value); break; case Ci.nsIPrefBranch.PREF_BOOL: Logger.AssertEqual(typeof(this.value), "boolean", "Wrong type used for preference value"); - prefs.setBoolPref(this.name, this.value); + Services.prefs.setBoolPref(this.name, this.value); break; } }, @@ -89,16 +87,16 @@ Preference.prototype = { // Read the pref value. let value; try { - let prefType = prefs.getPrefType(this.name); + let prefType = Services.prefs.getPrefType(this.name); switch (prefType) { case Ci.nsIPrefBranch.PREF_INT: - value = prefs.getIntPref(this.name); + value = Services.prefs.getIntPref(this.name); break; case Ci.nsIPrefBranch.PREF_STRING: - value = prefs.getCharPref(this.name); + value = Services.prefs.getCharPref(this.name); break; case Ci.nsIPrefBranch.PREF_BOOL: - value = prefs.getBoolPref(this.name); + value = Services.prefs.getBoolPref(this.name); break; } } catch (e) { @@ -112,4 +110,3 @@ Preference.prototype = { Logger.AssertEqual(value, this.value, "Preference values don't match"); }, }; - diff --git a/services/sync/tps/extensions/tps/resource/modules/tabs.jsm b/services/sync/tps/extensions/tps/resource/modules/tabs.jsm index 82617dfb4cb0..066c556ad32f 100644 --- a/services/sync/tps/extensions/tps/resource/modules/tabs.jsm +++ b/services/sync/tps/extensions/tps/resource/modules/tabs.jsm @@ -11,6 +11,7 @@ const EXPORTED_SYMBOLS = ["BrowserTabs"]; const {classes: Cc, interfaces: Ci, utils: Cu} = Components; +Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://services-sync/main.js"); // Unfortunately, due to where TPS is run, we can't directly reuse the logic from @@ -40,9 +41,7 @@ var BrowserTabs = { // Open the uri in a new tab in the current browser window, and calls // the callback fn from the tab's onload handler. - let wm = Cc["@mozilla.org/appshell/window-mediator;1"] - .getService(Ci.nsIWindowMediator); - let mainWindow = wm.getMostRecentWindow("navigator:browser"); + let mainWindow = Services.wm.getMostRecentWindow("navigator:browser"); let browser = mainWindow.getBrowser(); let mm = browser.ownerGlobal.messageManager; mm.addMessageListener("tps:loadEvent", function onLoad(msg) { @@ -82,4 +81,3 @@ var BrowserTabs = { return false; }, }; - diff --git a/services/sync/tps/extensions/tps/resource/modules/windows.jsm b/services/sync/tps/extensions/tps/resource/modules/windows.jsm index 7ad6eedbd356..380c1c4abbf7 100644 --- a/services/sync/tps/extensions/tps/resource/modules/windows.jsm +++ b/services/sync/tps/extensions/tps/resource/modules/windows.jsm @@ -12,6 +12,7 @@ const EXPORTED_SYMBOLS = ["BrowserWindows"]; const {classes: Cc, interfaces: Ci, utils: Cu} = Components; +Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://services-sync/main.js"); var BrowserWindows = { @@ -24,9 +25,7 @@ var BrowserWindows = { * @return nothing */ Add(aPrivate, fn) { - let wm = Cc["@mozilla.org/appshell/window-mediator;1"] - .getService(Ci.nsIWindowMediator); - let mainWindow = wm.getMostRecentWindow("navigator:browser"); + let mainWindow = Services.wm.getMostRecentWindow("navigator:browser"); let win = mainWindow.OpenBrowserWindow({private: aPrivate}); win.addEventListener("load", function() { fn.call(win); diff --git a/services/sync/tps/extensions/tps/resource/quit.js b/services/sync/tps/extensions/tps/resource/quit.js index 819007b78cd5..86ec1ac2606c 100644 --- a/services/sync/tps/extensions/tps/resource/quit.js +++ b/services/sync/tps/extensions/tps/resource/quit.js @@ -37,12 +37,10 @@ function goQuitApplication() { var forceQuit; if (kAppStartup in Components.classes) { - appService = Components.classes[kAppStartup] - .getService(Components.interfaces.nsIAppStartup); + appService = Services.startup; forceQuit = Components.interfaces.nsIAppStartup.eForceQuit; } else if (kAppShell in Components.classes) { - appService = Components.classes[kAppShell]. - getService(Components.interfaces.nsIAppShellService); + appService = Services.appShell; forceQuit = Components.interfaces.nsIAppShellService.eForceQuit; } else { throw new Error("goQuitApplication: no AppStartup/appShell"); @@ -56,4 +54,3 @@ function goQuitApplication() { return true; } - diff --git a/services/sync/tps/extensions/tps/resource/tps.jsm b/services/sync/tps/extensions/tps/resource/tps.jsm index 81ce5d829288..d6e144eea209 100644 --- a/services/sync/tps/extensions/tps/resource/tps.jsm +++ b/services/sync/tps/extensions/tps/resource/tps.jsm @@ -48,8 +48,6 @@ Cu.import("resource://tps/modules/windows.jsm"); var hh = Cc["@mozilla.org/network/protocol;1?name=http"] .getService(Ci.nsIHttpProtocolHandler); -var prefs = Cc["@mozilla.org/preferences-service;1"] - .getService(Ci.nsIPrefBranch); XPCOMUtils.defineLazyGetter(this, "fileProtocolHandler", () => { let fileHandler = Services.io.getProtocolHandler("file"); @@ -744,7 +742,7 @@ var TPS = { this.quit(); return; } - this.seconds_since_epoch = prefs.getIntPref("tps.seconds_since_epoch"); + this.seconds_since_epoch = Services.prefs.getIntPref("tps.seconds_since_epoch"); if (this.seconds_since_epoch) this._usSinceEpoch = this.seconds_since_epoch * 1000 * 1000; else { @@ -887,7 +885,7 @@ var TPS = { */ async _executeTestPhase(file, phase, settings) { try { - this.config = JSON.parse(prefs.getCharPref("tps.config")); + this.config = JSON.parse(Services.prefs.getCharPref("tps.config")); // parse the test file Services.scriptloader.loadSubScript(file, this); this._currentPhase = phase; From 10ef8e706fc7302c0dc03044e22eb36c1279739b Mon Sep 17 00:00:00 2001 From: Alastor Wu Date: Mon, 27 Nov 2017 19:18:45 +0800 Subject: [PATCH 50/77] Bug 1415478 - part1 : turn on the pref on Nightly build. r=jwwang MozReview-Commit-ID: AJva2ypm7BJ --HG-- extra : rebase_source : 00b7a831a685dee21a13a786e93e9a3a388f4be3 --- dom/media/AutoplayPolicy.cpp | 2 +- modules/libpref/init/all.js | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/dom/media/AutoplayPolicy.cpp b/dom/media/AutoplayPolicy.cpp index ca882e42b204..6812b37a5333 100644 --- a/dom/media/AutoplayPolicy.cpp +++ b/dom/media/AutoplayPolicy.cpp @@ -32,7 +32,7 @@ AutoplayPolicy::IsMediaElementAllowedToPlay(NotNull aElement) return true; } - if (Preferences::GetBool("media.autoplay.enabled.user-gestures-needed")) { + if (Preferences::GetBool("media.autoplay.enabled.user-gestures-needed", false)) { return AutoplayPolicy::IsDocumentAllowedToPlay(aElement->OwnerDoc()); } diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index c7596832fdcd..f8f660c3e527 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -593,9 +593,13 @@ pref("media.recorder.video.frame_drops", true); // Whether to autostart a media element with an |autoplay| attribute pref("media.autoplay.enabled", true); -// If "media.autoplay.enabled" is off, and this pref is on, then autoplay could -// be executed after website has been activated by specific user gestures. + +// If "media.autoplay.enabled" is false, and this pref is true, then audible media +// would only be allowed to autoplay after website has been activated by specific +// user gestures, but the non-audible media won't be restricted. +#ifdef NIGHTLY_BUILD pref("media.autoplay.enabled.user-gestures-needed", false); +#endif // The default number of decoded video frames that are enqueued in // MediaDecoderReader's mVideoQueue. From a6a6078915b5dfd4886d77925370fdab85be716b Mon Sep 17 00:00:00 2001 From: Alastor Wu Date: Mon, 27 Nov 2017 19:20:15 +0800 Subject: [PATCH 51/77] Bug 1415478 - part2 : allow autoplay for non-audible media content and video without audio content. r=jwwang Per UX spec, we would allow non-audible media (volume 0, muted, video without audio track) to autoplay. MozReview-Commit-ID: HKUyt5Jt4sH --HG-- extra : rebase_source : 97315d90fa46a16289135ac7490bd0dab651d682 --- dom/html/HTMLMediaElement.cpp | 10 +++------- dom/media/AutoplayPolicy.cpp | 33 ++++++++++++++++++++------------- dom/media/AutoplayPolicy.h | 5 +++-- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp index c25359536eb2..11a0573fb8b8 100644 --- a/dom/html/HTMLMediaElement.cpp +++ b/dom/html/HTMLMediaElement.cpp @@ -670,11 +670,6 @@ void HTMLMediaElement::ReportLoadError(const char* aMsg, aParamCount); } -static bool IsAutoplayEnabled() -{ - return Preferences::GetBool("media.autoplay.enabled"); -} - class HTMLMediaElement::AudioChannelAgentCallback final : public nsIAudioChannelAgentCallback { @@ -2439,7 +2434,8 @@ void HTMLMediaElement::UpdatePreloadAction() PreloadAction nextAction = PRELOAD_UNDEFINED; // If autoplay is set, or we're playing, we should always preload data, // as we'll need it to play. - if ((IsAutoplayEnabled() && HasAttr(kNameSpaceID_None, nsGkAtoms::autoplay)) || + if ((AutoplayPolicy::IsMediaElementAllowedToPlay(WrapNotNull(this)) && + HasAttr(kNameSpaceID_None, nsGkAtoms::autoplay)) || !mPaused) { nextAction = HTMLMediaElement::PRELOAD_ENOUGH; @@ -6190,7 +6186,7 @@ bool HTMLMediaElement::CanActivateAutoplay() // download is controlled by the script and there is no way to evaluate // MediaDecoder::CanPlayThrough(). - if (!IsAutoplayEnabled()) { + if (!AutoplayPolicy::IsMediaElementAllowedToPlay(WrapNotNull(this))) { return false; } diff --git a/dom/media/AutoplayPolicy.cpp b/dom/media/AutoplayPolicy.cpp index 6812b37a5333..344ae3b99a31 100644 --- a/dom/media/AutoplayPolicy.cpp +++ b/dom/media/AutoplayPolicy.cpp @@ -7,7 +7,6 @@ #include "AutoplayPolicy.h" #include "mozilla/EventStateManager.h" -#include "mozilla/NotNull.h" #include "mozilla/Preferences.h" #include "mozilla/dom/HTMLMediaElement.h" #include "nsIDocument.h" @@ -18,10 +17,6 @@ namespace dom { /* static */ bool AutoplayPolicy::IsDocumentAllowedToPlay(nsIDocument* aDoc) { - if (!Preferences::GetBool("media.autoplay.enabled.user-gestures-needed")) { - return true; - } - return aDoc ? aDoc->HasBeenUserActivated() : false; } @@ -32,16 +27,28 @@ AutoplayPolicy::IsMediaElementAllowedToPlay(NotNull aElement) return true; } - if (Preferences::GetBool("media.autoplay.enabled.user-gestures-needed", false)) { - return AutoplayPolicy::IsDocumentAllowedToPlay(aElement->OwnerDoc()); - } - // TODO : this old way would be removed when user-gestures-needed becomes // as a default option to block autoplay. - // If user triggers load() or seek() before play(), we would also allow the - // following play(). - return aElement->GetAndClearHasUserInteractedLoadOrSeek() || - EventStateManager::IsHandlingUserInput(); + if (!Preferences::GetBool("media.autoplay.enabled.user-gestures-needed", false)) { + // If user triggers load() or seek() before play(), we would also allow the + // following play(). + return aElement->GetAndClearHasUserInteractedLoadOrSeek() || + EventStateManager::IsHandlingUserInput(); + } + + // Muted content + if (aElement->Volume() == 0.0 || aElement->Muted()) { + return true; + } + + // Media has already loaded metadata and doesn't contain audio track + if (aElement->IsVideo() && + aElement->ReadyState() >= nsIDOMHTMLMediaElement::HAVE_METADATA && + !aElement->HasAudio()) { + return true; + } + + return AutoplayPolicy::IsDocumentAllowedToPlay(aElement->OwnerDoc()); } } // namespace dom diff --git a/dom/media/AutoplayPolicy.h b/dom/media/AutoplayPolicy.h index b9dd4a1a052f..0930e30d998e 100644 --- a/dom/media/AutoplayPolicy.h +++ b/dom/media/AutoplayPolicy.h @@ -25,13 +25,14 @@ class HTMLMediaElement; * conditions is true. * 1) Owner document is activated by user gestures * We restrict user gestures to "mouse click", "keyboard press" and "touch". - * 2) TODO... + * 2) Muted media content or video without audio content */ class AutoplayPolicy { public: - static bool IsDocumentAllowedToPlay(nsIDocument* aDoc); static bool IsMediaElementAllowedToPlay(NotNull aElement); +private: + static bool IsDocumentAllowedToPlay(nsIDocument* aDoc); }; } // namespace dom From 8cbc022a9e09685990bbf6bf3a7305ac6b050277 Mon Sep 17 00:00:00 2001 From: Alastor Wu Date: Mon, 27 Nov 2017 19:20:27 +0800 Subject: [PATCH 52/77] Bug 1415478 - part3 : add tests. r=jwwang MozReview-Commit-ID: ALFQcKRKk7c --HG-- extra : rebase_source : 090bbe126cfec1fa59cf3b17023e686813de3de9 --- dom/media/test/mochitest.ini | 1 + dom/media/test/test_autoplay_policy.html | 182 +++++++++++++++++++++++ 2 files changed, 183 insertions(+) create mode 100644 dom/media/test/test_autoplay_policy.html diff --git a/dom/media/test/mochitest.ini b/dom/media/test/mochitest.ini index 57936edc3ec8..64346abbb65f 100644 --- a/dom/media/test/mochitest.ini +++ b/dom/media/test/mochitest.ini @@ -679,6 +679,7 @@ skip-if = true # bug 475110 - disabled since we don't play Wave files standalone [test_autoplay.html] [test_autoplay_contentEditable.html] skip-if = android_version == '15' || android_version == '17' || android_version == '22' # android(bug 1232305, bug 1232318, bug 1372457) +[test_autoplay_policy.html] [test_buffered.html] skip-if = android_version == '15' || android_version == '22' # bug 1308388, android(bug 1232305) [test_bug448534.html] diff --git a/dom/media/test/test_autoplay_policy.html b/dom/media/test/test_autoplay_policy.html new file mode 100644 index 000000000000..332ac9bfbc35 --- /dev/null +++ b/dom/media/test/test_autoplay_policy.html @@ -0,0 +1,182 @@ + + + + + Autoplay policy test + + + + + +
+
+
\ No newline at end of file

From 7822b14bda9232540e53d652bd48cbd48d19f5f2 Mon Sep 17 00:00:00 2001
From: Ryan Leake 
Date: Fri, 24 Nov 2017 20:24:42 +0000
Subject: [PATCH 53/77] Bug 1346072 - Remove accounts.firefox.com from the
 whitelist of domains allowed to send objects over webchannels. r=markh

MozReview-Commit-ID: 4ts3uBPuXom

--HG--
extra : rebase_source : 0dced36f4c14f8fb4f7633f3b265ac22d95ecfd7
---
 browser/app/profile/firefox.js           |  2 +-
 services/fxaccounts/FxAccountsConfig.jsm | 21 ---------------------
 2 files changed, 1 insertion(+), 22 deletions(-)

diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index da75baf712b3..1b6bcdc865f9 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1674,7 +1674,7 @@ pref("print.use_simplify_page", true);
 
 // Space separated list of URLS that are allowed to send objects (instead of
 // only strings) through webchannels. This list is duplicated in mobile/android/app/mobile.js
-pref("webchannel.allowObject.urlWhitelist", "https://accounts.firefox.com https://content.cdn.mozilla.net https://input.mozilla.org https://support.mozilla.org https://install.mozilla.org");
+pref("webchannel.allowObject.urlWhitelist", "https://content.cdn.mozilla.net https://input.mozilla.org https://support.mozilla.org https://install.mozilla.org");
 
 // Whether or not the browser should scan for unsubmitted
 // crash reports, and then show a notification for submitting
diff --git a/services/fxaccounts/FxAccountsConfig.jsm b/services/fxaccounts/FxAccountsConfig.jsm
index bd771e6a629f..4c06309688b4 100644
--- a/services/fxaccounts/FxAccountsConfig.jsm
+++ b/services/fxaccounts/FxAccountsConfig.jsm
@@ -68,22 +68,6 @@ this.FxAccountsConfig = {
     }
     // Reset the webchannel.
     EnsureFxAccountsWebChannel();
-    if (!Services.prefs.prefHasUserValue("webchannel.allowObject.urlWhitelist")) {
-      return;
-    }
-    let whitelistValue = Services.prefs.getCharPref("webchannel.allowObject.urlWhitelist");
-    if (whitelistValue.startsWith(autoconfigURL + " ")) {
-      whitelistValue = whitelistValue.slice(autoconfigURL.length + 1);
-      // Check and see if the value will be the default, and just clear the pref if it would
-      // to avoid it showing up as changed in about:config.
-      let defaultWhitelist = Services.prefs.getDefaultBranch("webchannel.allowObject.").getCharPref("urlWhitelist", "");
-
-      if (defaultWhitelist === whitelistValue) {
-        Services.prefs.clearUserPref("webchannel.allowObject.urlWhitelist");
-      } else {
-        Services.prefs.setCharPref("webchannel.allowObject.urlWhitelist", whitelistValue);
-      }
-    }
   },
 
   getAutoConfigURL() {
@@ -163,11 +147,6 @@ this.FxAccountsConfig = {
       Services.prefs.setCharPref("identity.fxaccounts.remote.email.uri", rootURL + "/?service=sync&context=" + contextParam + "&action=email");
       Services.prefs.setCharPref("identity.fxaccounts.remote.force_auth.uri", rootURL + "/force_auth?service=sync&context=" + contextParam);
 
-      let whitelistValue = Services.prefs.getCharPref("webchannel.allowObject.urlWhitelist");
-      if (!whitelistValue.includes(rootURL)) {
-        whitelistValue = `${rootURL} ${whitelistValue}`;
-        Services.prefs.setCharPref("webchannel.allowObject.urlWhitelist", whitelistValue);
-      }
       // Ensure the webchannel is pointed at the correct uri
       EnsureFxAccountsWebChannel();
     } catch (e) {

From f02f21154efd771de07e9395329db0a64ee3bbd5 Mon Sep 17 00:00:00 2001
From: Munro Mengjue Chiang 
Date: Thu, 23 Nov 2017 15:46:25 +0800
Subject: [PATCH 54/77] Bug 1388219 - add a nsTArray mTargetCapability to
 record each track target capability. r=jib

MozReview-Commit-ID: 476kNk16VKR

--HG--
extra : rebase_source : c0718f640acdebaad9c314441e217f43377e12de
---
 dom/media/webrtc/MediaEngine.h                | 14 ++-
 .../webrtc/MediaEngineCameraVideoSource.cpp   | 48 ++++++++--
 .../webrtc/MediaEngineCameraVideoSource.h     | 34 +++++++-
 .../webrtc/MediaEngineRemoteVideoSource.cpp   | 87 ++++++++++++++-----
 .../webrtc/MediaEngineRemoteVideoSource.h     | 10 ++-
 dom/media/webrtc/MediaEngineWebRTC.h          |  1 +
 dom/media/webrtc/MediaEngineWebRTCAudio.cpp   |  1 +
 dom/media/webrtc/MediaTrackConstraints.cpp    | 22 +++++
 dom/media/webrtc/MediaTrackConstraints.h      | 15 +++-
 9 files changed, 194 insertions(+), 38 deletions(-)

diff --git a/dom/media/webrtc/MediaEngine.h b/dom/media/webrtc/MediaEngine.h
index 000d6d838121..d8aa94b835b7 100644
--- a/dom/media/webrtc/MediaEngine.h
+++ b/dom/media/webrtc/MediaEngine.h
@@ -217,6 +217,7 @@ public:
     NS_INLINE_DECL_THREADSAFE_REFCOUNTING(AllocationHandle);
   protected:
     ~AllocationHandle() {}
+    static uint64_t sId;
   public:
     AllocationHandle(const dom::MediaTrackConstraints& aConstraints,
                      const mozilla::ipc::PrincipalInfo& aPrincipalInfo,
@@ -226,12 +227,14 @@ public:
     : mConstraints(aConstraints),
       mPrincipalInfo(aPrincipalInfo),
       mPrefs(aPrefs),
-      mDeviceId(aDeviceId) {}
+      mDeviceId(aDeviceId),
+      mId(sId++) {}
   public:
     NormalizedConstraints mConstraints;
     mozilla::ipc::PrincipalInfo mPrincipalInfo;
     MediaEnginePrefs mPrefs;
     nsString mDeviceId;
+    uint64_t mId;
   };
 
   /* Release the device back to the system. */
@@ -366,6 +369,7 @@ protected:
   virtual nsresult
   UpdateSingleSource(const AllocationHandle* aHandle,
                      const NormalizedConstraints& aNetConstraints,
+                     const NormalizedConstraints& aNewConstraint,
                      const MediaEnginePrefs& aPrefs,
                      const nsString& aDeviceId,
                      const char** aOutBadConstraint) {
@@ -394,6 +398,7 @@ protected:
     // aHandle and/or aConstraintsUpdate may be nullptr (see below)
 
     AutoTArray allConstraints;
+    AutoTArray updatedConstraint;
     for (auto& registered : mRegisteredHandles) {
       if (aConstraintsUpdate && registered.get() == aHandle) {
         continue; // Don't count old constraints
@@ -402,9 +407,13 @@ protected:
     }
     if (aConstraintsUpdate) {
       allConstraints.AppendElement(aConstraintsUpdate);
+      updatedConstraint.AppendElement(aConstraintsUpdate);
     } else if (aHandle) {
       // In the case of AddShareOfSingleSource, the handle isn't registered yet.
       allConstraints.AppendElement(&aHandle->mConstraints);
+      updatedConstraint.AppendElement(&aHandle->mConstraints);
+    } else {
+      updatedConstraint.AppendElements(allConstraints);
     }
 
     NormalizedConstraints netConstraints(allConstraints);
@@ -413,7 +422,8 @@ protected:
       return NS_ERROR_FAILURE;
     }
 
-    nsresult rv = UpdateSingleSource(aHandle, netConstraints, aPrefs, aDeviceId,
+    NormalizedConstraints newConstraint(updatedConstraint);
+    nsresult rv = UpdateSingleSource(aHandle, netConstraints, newConstraint, aPrefs, aDeviceId,
                                      aOutBadConstraint);
     if (NS_FAILED(rv)) {
       return rv;
diff --git a/dom/media/webrtc/MediaEngineCameraVideoSource.cpp b/dom/media/webrtc/MediaEngineCameraVideoSource.cpp
index 8d182a7d4cbb..25aedad88d04 100644
--- a/dom/media/webrtc/MediaEngineCameraVideoSource.cpp
+++ b/dom/media/webrtc/MediaEngineCameraVideoSource.cpp
@@ -54,6 +54,19 @@ MediaEngineCameraVideoSource::GetCapability(size_t aIndex,
   aOut = mHardcodedCapabilities.SafeElementAt(aIndex, webrtc::CaptureCapability());
 }
 
+uint32_t
+MediaEngineCameraVideoSource::GetDistance(
+    const webrtc::CaptureCapability& aCandidate,
+    const NormalizedConstraintSet &aConstraints,
+    const nsString& aDeviceId,
+    const DistanceCalculation aCalculate) const
+{
+  if (aCalculate == kFeasibility) {
+    return GetFeasibilityDistance(aCandidate, aConstraints, aDeviceId);
+  }
+  return GetFitnessDistance(aCandidate, aConstraints, aDeviceId);
+}
+
 uint32_t
 MediaEngineCameraVideoSource::GetFitnessDistance(
     const webrtc::CaptureCapability& aCandidate,
@@ -75,6 +88,27 @@ MediaEngineCameraVideoSource::GetFitnessDistance(
   return uint32_t(std::min(distance, uint64_t(UINT32_MAX)));
 }
 
+uint32_t
+MediaEngineCameraVideoSource::GetFeasibilityDistance(
+    const webrtc::CaptureCapability& aCandidate,
+    const NormalizedConstraintSet &aConstraints,
+    const nsString& aDeviceId) const
+{
+  // Treat width|height|frameRate == 0 on capability as "can do any".
+  // This allows for orthogonal capabilities that are not in discrete steps.
+
+  uint64_t distance =
+    uint64_t(FitnessDistance(aDeviceId, aConstraints.mDeviceId)) +
+    uint64_t(FitnessDistance(mFacingMode, aConstraints.mFacingMode)) +
+    uint64_t(aCandidate.width? FeasibilityDistance(int32_t(aCandidate.width),
+                                               aConstraints.mWidth) : 0) +
+    uint64_t(aCandidate.height? FeasibilityDistance(int32_t(aCandidate.height),
+                                                aConstraints.mHeight) : 0) +
+    uint64_t(aCandidate.maxFPS? FeasibilityDistance(double(aCandidate.maxFPS),
+                                                aConstraints.mFrameRate) : 0);
+  return uint32_t(std::min(distance, uint64_t(UINT32_MAX)));
+}
+
 // Find best capability by removing inferiors. May leave >1 of equal distance
 
 /* static */ void
@@ -218,7 +252,9 @@ bool
 MediaEngineCameraVideoSource::ChooseCapability(
     const NormalizedConstraints &aConstraints,
     const MediaEnginePrefs &aPrefs,
-    const nsString& aDeviceId)
+    const nsString& aDeviceId,
+    webrtc::CaptureCapability& aCapability,
+    const DistanceCalculation aCalculate)
 {
   if (MOZ_LOG_TEST(GetMediaManagerLog(), LogLevel::Debug)) {
     LOG(("ChooseCapability: prefs: %dx%d @%dfps",
@@ -246,7 +282,7 @@ MediaEngineCameraVideoSource::ChooseCapability(
     auto& candidate = candidateSet[i];
     webrtc::CaptureCapability cap;
     GetCapability(candidate.mIndex, cap);
-    candidate.mDistance = GetFitnessDistance(cap, aConstraints, aDeviceId);
+    candidate.mDistance = GetDistance(cap, aConstraints, aDeviceId, aCalculate);
     LogCapability("Capability", cap, candidate.mDistance);
     if (candidate.mDistance == UINT32_MAX) {
       candidateSet.RemoveElementAt(i);
@@ -268,7 +304,7 @@ MediaEngineCameraVideoSource::ChooseCapability(
       auto& candidate = candidateSet[i];
       webrtc::CaptureCapability cap;
       GetCapability(candidate.mIndex, cap);
-      if (GetFitnessDistance(cap, cs, aDeviceId) == UINT32_MAX) {
+      if (GetDistance(cap, cs, aDeviceId, aCalculate) == UINT32_MAX) {
         rejects.AppendElement(candidate);
         candidateSet.RemoveElementAt(i);
       } else {
@@ -299,7 +335,7 @@ MediaEngineCameraVideoSource::ChooseCapability(
     for (auto& candidate : candidateSet) {
       webrtc::CaptureCapability cap;
       GetCapability(candidate.mIndex, cap);
-      candidate.mDistance = GetFitnessDistance(cap, normPrefs, aDeviceId);
+      candidate.mDistance = GetDistance(cap, normPrefs, aDeviceId, aCalculate);
     }
     TrimLessFitCandidates(candidateSet);
   }
@@ -315,13 +351,13 @@ MediaEngineCameraVideoSource::ChooseCapability(
     if (cap.rawType == webrtc::RawVideoType::kVideoI420 ||
         cap.rawType == webrtc::RawVideoType::kVideoYUY2 ||
         cap.rawType == webrtc::RawVideoType::kVideoYV12) {
-      mCapability = cap;
+      aCapability = cap;
       found = true;
       break;
     }
   }
   if (!found) {
-    GetCapability(candidateSet[0].mIndex, mCapability);
+    GetCapability(candidateSet[0].mIndex, aCapability);
   }
 
   LogCapability("Chosen capability", mCapability, sameDistance);
diff --git a/dom/media/webrtc/MediaEngineCameraVideoSource.h b/dom/media/webrtc/MediaEngineCameraVideoSource.h
index 284f22be9ec1..d78bcaeed8ff 100644
--- a/dom/media/webrtc/MediaEngineCameraVideoSource.h
+++ b/dom/media/webrtc/MediaEngineCameraVideoSource.h
@@ -24,6 +24,19 @@ namespace webrtc {
 
 namespace mozilla {
 
+// Fitness distance is defined in
+// https://www.w3.org/TR/2017/CR-mediacapture-streams-20171003/#dfn-selectsettings
+// The main difference of feasibility and fitness distance is that if the
+// constraint is required ('max', or 'exact'), and the settings dictionary's value
+// for the constraint does not satisfy the constraint, the fitness distance is
+// positive infinity. Given a continuous space of settings dictionaries comprising
+// all discrete combinations of dimension and frame-rate related properties,
+// the feasibility distance is still in keeping with the constraints algorithm.
+enum DistanceCalculation {
+  kFitness,
+  kFeasibility
+};
+
 class MediaEngineCameraVideoSource : public MediaEngineVideoSource
 {
 public:
@@ -86,9 +99,16 @@ protected:
                              TrackID aID,
                              StreamTime delta,
                              const PrincipalHandle& aPrincipalHandle);
+  uint32_t GetDistance(const webrtc::CaptureCapability& aCandidate,
+                       const NormalizedConstraintSet &aConstraints,
+                       const nsString& aDeviceId,
+                       const DistanceCalculation aCalculate) const;
   uint32_t GetFitnessDistance(const webrtc::CaptureCapability& aCandidate,
                               const NormalizedConstraintSet &aConstraints,
                               const nsString& aDeviceId) const;
+  uint32_t GetFeasibilityDistance(const webrtc::CaptureCapability& aCandidate,
+                              const NormalizedConstraintSet &aConstraints,
+                              const nsString& aDeviceId) const;
   static void TrimLessFitCandidates(CapabilitySet& set);
   static void LogConstraints(const NormalizedConstraintSet& aConstraints);
   static void LogCapability(const char* aHeader,
@@ -96,9 +116,13 @@ protected:
                             uint32_t aDistance);
   virtual size_t NumCapabilities() const;
   virtual void GetCapability(size_t aIndex, webrtc::CaptureCapability& aOut) const;
-  virtual bool ChooseCapability(const NormalizedConstraints &aConstraints,
-                                const MediaEnginePrefs &aPrefs,
-                                const nsString& aDeviceId);
+  virtual bool ChooseCapability(
+    const NormalizedConstraints &aConstraints,
+    const MediaEnginePrefs &aPrefs,
+    const nsString& aDeviceId,
+    webrtc::CaptureCapability& aCapability,
+    const DistanceCalculation aCalculate
+  );
   void SetName(nsString aName);
   void SetUUID(const char* aUUID);
   const nsCString& GetUUID() const; // protected access
@@ -116,6 +140,8 @@ protected:
   nsTArray> mSources; // When this goes empty, we shut down HW
   nsTArray mPrincipalHandles; // Directly mapped to mSources.
   RefPtr mImage;
+  nsTArray mTargetCapabilities;
+  nsTArray mHandleIds;
   RefPtr mImageContainer;
   // end of data protected by mMonitor
 
@@ -125,6 +151,8 @@ protected:
   TrackID mTrackID;
 
   webrtc::CaptureCapability mCapability;
+  webrtc::CaptureCapability mTargetCapability;
+  uint64_t mHandleId;
 
   mutable nsTArray mHardcodedCapabilities;
 private:
diff --git a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
index f50b98a60d0b..e7024513cf77 100644
--- a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
+++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
@@ -17,6 +17,8 @@ extern mozilla::LogModule* GetMediaManagerLog();
 
 namespace mozilla {
 
+uint64_t MediaEngineCameraVideoSource::AllocationHandle::sId = 0;
+
 // These need a definition somewhere because template
 // code is allowed to take their address, and they aren't
 // guaranteed to have one without this.
@@ -80,6 +82,8 @@ MediaEngineRemoteVideoSource::Shutdown()
         empty = mSources.IsEmpty();
         if (empty) {
           MOZ_ASSERT(mPrincipalHandles.IsEmpty());
+          MOZ_ASSERT(mTargetCapabilities.IsEmpty());
+          MOZ_ASSERT(mHandleIds.IsEmpty());
           break;
         }
         source = mSources[0];
@@ -126,6 +130,8 @@ MediaEngineRemoteVideoSource::Allocate(
     MonitorAutoLock lock(mMonitor);
     if (mSources.IsEmpty()) {
       MOZ_ASSERT(mPrincipalHandles.IsEmpty());
+      MOZ_ASSERT(mTargetCapabilities.IsEmpty());
+      MOZ_ASSERT(mHandleIds.IsEmpty());
       LOG(("Video device %d reallocated", mCaptureIndex));
     } else {
       LOG(("Video device %d allocated shared", mCaptureIndex));
@@ -172,7 +178,12 @@ MediaEngineRemoteVideoSource::Start(SourceMediaStream* aStream, TrackID aID,
     MonitorAutoLock lock(mMonitor);
     mSources.AppendElement(aStream);
     mPrincipalHandles.AppendElement(aPrincipalHandle);
+    mTargetCapabilities.AppendElement(mTargetCapability);
+    mHandleIds.AppendElement(mHandleId);
+
     MOZ_ASSERT(mSources.Length() == mPrincipalHandles.Length());
+    MOZ_ASSERT(mSources.Length() == mTargetCapabilities.Length());
+    MOZ_ASSERT(mSources.Length() == mHandleIds.Length());
   }
 
   aStream->AddTrack(aID, 0, new VideoSegment(), SourceMediaStream::ADDTRACK_QUEUED);
@@ -218,8 +229,12 @@ MediaEngineRemoteVideoSource::Stop(mozilla::SourceMediaStream* aSource,
     }
 
     MOZ_ASSERT(mSources.Length() == mPrincipalHandles.Length());
+    MOZ_ASSERT(mSources.Length() == mTargetCapabilities.Length());
+    MOZ_ASSERT(mSources.Length() == mHandleIds.Length());
     mSources.RemoveElementAt(i);
     mPrincipalHandles.RemoveElementAt(i);
+    mTargetCapabilities.RemoveElementAt(i);
+    mHandleIds.RemoveElementAt(i);
 
     aSource->EndTrack(aID);
 
@@ -262,18 +277,21 @@ nsresult
 MediaEngineRemoteVideoSource::UpdateSingleSource(
     const AllocationHandle* aHandle,
     const NormalizedConstraints& aNetConstraints,
+    const NormalizedConstraints& aNewConstraint,
     const MediaEnginePrefs& aPrefs,
     const nsString& aDeviceId,
     const char** aOutBadConstraint)
 {
-  if (!ChooseCapability(aNetConstraints, aPrefs, aDeviceId)) {
-    *aOutBadConstraint = FindBadConstraint(aNetConstraints, *this, aDeviceId);
-    return NS_ERROR_FAILURE;
-  }
-
   switch (mState) {
     case kReleased:
       MOZ_ASSERT(aHandle);
+      mHandleId = aHandle->mId;
+      if (!ChooseCapability(aNetConstraints, aPrefs, aDeviceId, mCapability, kFitness)) {
+        *aOutBadConstraint = FindBadConstraint(aNetConstraints, *this, aDeviceId);
+        return NS_ERROR_FAILURE;
+      }
+      mTargetCapability = mCapability;
+
       if (camera::GetChildAndCall(&camera::CamerasChild::AllocateCaptureDevice,
                                   mCapEngine, GetUUID().get(),
                                   kMaxUniqueIdLength, mCaptureIndex,
@@ -286,18 +304,42 @@ MediaEngineRemoteVideoSource::UpdateSingleSource(
       break;
 
     case kStarted:
-      if (mCapability != mLastCapability) {
-        camera::GetChildAndCall(&camera::CamerasChild::StopCapture,
-                                mCapEngine, mCaptureIndex);
-        if (camera::GetChildAndCall(&camera::CamerasChild::StartCapture,
-                                    mCapEngine, mCaptureIndex, mCapability,
-                                    this)) {
-          LOG(("StartCapture failed"));
+      {
+        size_t index = mHandleIds.NoIndex;
+        if (aHandle) {
+          mHandleId = aHandle->mId;
+          index = mHandleIds.IndexOf(mHandleId);
+        }
+
+        if (!ChooseCapability(aNewConstraint, aPrefs, aDeviceId, mTargetCapability,
+                              kFitness)) {
+          *aOutBadConstraint = FindBadConstraint(aNewConstraint, *this, aDeviceId);
           return NS_ERROR_FAILURE;
         }
-        SetLastCapability(mCapability);
+
+        if (index != mHandleIds.NoIndex) {
+          mTargetCapabilities[index] = mTargetCapability;
+        }
+
+        if (!ChooseCapability(aNetConstraints, aPrefs, aDeviceId, mCapability,
+                              kFeasibility)) {
+          *aOutBadConstraint = FindBadConstraint(aNetConstraints, *this, aDeviceId);
+          return NS_ERROR_FAILURE;
+        }
+
+        if (mCapability != mLastCapability) {
+          camera::GetChildAndCall(&camera::CamerasChild::StopCapture,
+                                  mCapEngine, mCaptureIndex);
+          if (camera::GetChildAndCall(&camera::CamerasChild::StartCapture,
+                                      mCapEngine, mCaptureIndex, mCapability,
+                                      this)) {
+            LOG(("StartCapture failed"));
+            return NS_ERROR_FAILURE;
+          }
+          SetLastCapability(mCapability);
+        }
+        break;
       }
-      break;
 
     default:
       LOG(("Video device %d in ignored state %d", mCaptureIndex, mState));
@@ -464,7 +506,9 @@ bool
 MediaEngineRemoteVideoSource::ChooseCapability(
     const NormalizedConstraints &aConstraints,
     const MediaEnginePrefs &aPrefs,
-    const nsString& aDeviceId)
+    const nsString& aDeviceId,
+    webrtc::CaptureCapability& aCapability,
+    const DistanceCalculation aCalculate)
 {
   AssertIsOnOwningThread();
 
@@ -477,15 +521,16 @@ MediaEngineRemoteVideoSource::ChooseCapability(
       // time (and may in fact change over time), so as a hack, we push ideal
       // and max constraints down to desktop_capture_impl.cc and finish the
       // algorithm there.
-      mCapability.width = (c.mWidth.mIdeal.valueOr(0) & 0xffff) << 16 |
-                          (c.mWidth.mMax & 0xffff);
-      mCapability.height = (c.mHeight.mIdeal.valueOr(0) & 0xffff) << 16 |
-                           (c.mHeight.mMax & 0xffff);
-      mCapability.maxFPS = c.mFrameRate.Clamp(c.mFrameRate.mIdeal.valueOr(aPrefs.mFPS));
+      aCapability.width =
+        (c.mWidth.mIdeal.valueOr(0) & 0xffff) << 16 | (c.mWidth.mMax & 0xffff);
+      aCapability.height =
+        (c.mHeight.mIdeal.valueOr(0) & 0xffff) << 16 | (c.mHeight.mMax & 0xffff);
+      aCapability.maxFPS =
+        c.mFrameRate.Clamp(c.mFrameRate.mIdeal.valueOr(aPrefs.mFPS));
       return true;
     }
     default:
-      return MediaEngineCameraVideoSource::ChooseCapability(aConstraints, aPrefs, aDeviceId);
+      return MediaEngineCameraVideoSource::ChooseCapability(aConstraints, aPrefs, aDeviceId, aCapability, aCalculate);
   }
 
 }
diff --git a/dom/media/webrtc/MediaEngineRemoteVideoSource.h b/dom/media/webrtc/MediaEngineRemoteVideoSource.h
index a8921f7b0b1b..738aeb244b76 100644
--- a/dom/media/webrtc/MediaEngineRemoteVideoSource.h
+++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.h
@@ -84,9 +84,12 @@ public:
     return mMediaSource;
   }
 
-  bool ChooseCapability(const NormalizedConstraints &aConstraints,
-                        const MediaEnginePrefs &aPrefs,
-                        const nsString& aDeviceId) override;
+  bool ChooseCapability(
+    const NormalizedConstraints &aConstraints,
+    const MediaEnginePrefs &aPrefs,
+    const nsString& aDeviceId,
+    webrtc::CaptureCapability& aCapability,
+    const DistanceCalculation aCalculate) override;
 
   void Refresh(int aIndex);
 
@@ -107,6 +110,7 @@ private:
   nsresult
   UpdateSingleSource(const AllocationHandle* aHandle,
                      const NormalizedConstraints& aNetConstraints,
+                     const NormalizedConstraints& aNewConstraint,
                      const MediaEnginePrefs& aPrefs,
                      const nsString& aDeviceId,
                      const char** aOutBadConstraint) override;
diff --git a/dom/media/webrtc/MediaEngineWebRTC.h b/dom/media/webrtc/MediaEngineWebRTC.h
index 177413b5eba5..3958255158e5 100644
--- a/dom/media/webrtc/MediaEngineWebRTC.h
+++ b/dom/media/webrtc/MediaEngineWebRTC.h
@@ -566,6 +566,7 @@ private:
   nsresult
   UpdateSingleSource(const AllocationHandle* aHandle,
                      const NormalizedConstraints& aNetConstraints,
+                     const NormalizedConstraints& aNewConstraint,
                      const MediaEnginePrefs& aPrefs,
                      const nsString& aDeviceId,
                      const char** aOutBadConstraint) override;
diff --git a/dom/media/webrtc/MediaEngineWebRTCAudio.cpp b/dom/media/webrtc/MediaEngineWebRTCAudio.cpp
index 9854a2482bd7..21349dc3e7d6 100644
--- a/dom/media/webrtc/MediaEngineWebRTCAudio.cpp
+++ b/dom/media/webrtc/MediaEngineWebRTCAudio.cpp
@@ -279,6 +279,7 @@ nsresult
 MediaEngineWebRTCMicrophoneSource::UpdateSingleSource(
     const AllocationHandle* aHandle,
     const NormalizedConstraints& aNetConstraints,
+    const NormalizedConstraints& aNewConstraint, /* Ignored */
     const MediaEnginePrefs& aPrefs,
     const nsString& aDeviceId,
     const char** aOutBadConstraint)
diff --git a/dom/media/webrtc/MediaTrackConstraints.cpp b/dom/media/webrtc/MediaTrackConstraints.cpp
index d3764d38cb46..509b44518978 100644
--- a/dom/media/webrtc/MediaTrackConstraints.cpp
+++ b/dom/media/webrtc/MediaTrackConstraints.cpp
@@ -417,6 +417,28 @@ MediaConstraintsHelper::FitnessDistance(ValueType aN,
                             std::max(std::abs(aN), std::abs(aRange.mIdeal.value()))));
 }
 
+template
+/* static */ uint32_t
+MediaConstraintsHelper::FeasibilityDistance(ValueType aN,
+                                            const NormalizedRange& aRange)
+{
+  if (aRange.mMin > aN) {
+    return UINT32_MAX;
+  }
+  // We prefer larger resolution because now we support downscaling
+  if (aN == aRange.mIdeal.valueOr(aN)) {
+    return 0;
+  }
+
+  if (aN > aRange.mIdeal.value()) {
+    return uint32_t(ValueType((std::abs(aN - aRange.mIdeal.value()) * 1000) /
+      std::max(std::abs(aN), std::abs(aRange.mIdeal.value()))));
+  }
+
+  return 10000 + uint32_t(ValueType((std::abs(aN - aRange.mIdeal.value()) * 1000) /
+    std::max(std::abs(aN), std::abs(aRange.mIdeal.value()))));
+}
+
 // Fitness distance returned as integer math * 1000. Infinity = UINT32_MAX
 
 /* static */ uint32_t
diff --git a/dom/media/webrtc/MediaTrackConstraints.h b/dom/media/webrtc/MediaTrackConstraints.h
index d589be0acc9d..228b67f6de16 100644
--- a/dom/media/webrtc/MediaTrackConstraints.h
+++ b/dom/media/webrtc/MediaTrackConstraints.h
@@ -85,12 +85,19 @@ public:
       return mMax >= aOther.mMin && mMin <= aOther.mMax;
     }
     void Intersect(const Range& aOther) {
-      MOZ_ASSERT(Intersects(aOther));
       mMin = std::max(mMin, aOther.mMin);
-      mMax = std::min(mMax, aOther.mMax);
+      if (Intersects(aOther)) {
+        mMax = std::min(mMax, aOther.mMax);
+      } else {
+        // If there is no intersection, we will down-scale or drop frame
+        mMax = std::max(mMax, aOther.mMax);
+      }
     }
     bool Merge(const Range& aOther) {
-      if (!Intersects(aOther)) {
+      if (strcmp(mName, "width") != 0 &&
+          strcmp(mName, "height") != 0 &&
+          strcmp(mName, "frameRate") != 0 &&
+          !Intersects(aOther)) {
         return false;
       }
       Intersect(aOther);
@@ -297,6 +304,8 @@ class MediaConstraintsHelper
 protected:
   template
   static uint32_t FitnessDistance(ValueType aN, const NormalizedRange& aRange);
+  template
+  static uint32_t FeasibilityDistance(ValueType aN, const NormalizedRange& aRange);
   static uint32_t FitnessDistance(nsString aN,
       const NormalizedConstraintSet::StringRange& aConstraint);
 

From aa4f8e8705235e2c2d2784c40f84f59f08293d24 Mon Sep 17 00:00:00 2001
From: Munro Mengjue Chiang 
Date: Fri, 17 Nov 2017 23:48:49 +0800
Subject: [PATCH 55/77] Bug 1388219 - down scale camera output frame to the
 target capability. r=jib

MozReview-Commit-ID: BpAhwYrgHtA

--HG--
extra : rebase_source : 0213c8c820765898a0509ec7845c487d7fa0c230
---
 dom/media/systemservices/CamerasParent.cpp    |  30 ++--
 .../webrtc/MediaEngineCameraVideoSource.cpp   |  12 +-
 .../webrtc/MediaEngineCameraVideoSource.h     |   1 +
 .../webrtc/MediaEngineRemoteVideoSource.cpp   | 163 +++++++++++++-----
 .../video_engine/desktop_capture_impl.cc      |  40 +----
 5 files changed, 155 insertions(+), 91 deletions(-)

diff --git a/dom/media/systemservices/CamerasParent.cpp b/dom/media/systemservices/CamerasParent.cpp
index 398bd20761ec..0340ab5eb395 100644
--- a/dom/media/systemservices/CamerasParent.cpp
+++ b/dom/media/systemservices/CamerasParent.cpp
@@ -52,7 +52,7 @@ ResolutionFeasibilityDistance(int32_t candidate, int32_t requested)
   if (candidate >= requested) {
     distance = (candidate - requested) * 1000 / std::max(candidate, requested);
   } else {
-    distance = (UINT32_MAX / 2) + (requested - candidate) *
+    distance = 10000 + (requested - candidate) *
       1000 / std::max(candidate, requested);
   }
   return distance;
@@ -862,14 +862,14 @@ CamerasParent::RecvStartCapture(const CaptureEngine& aCapEngine,
           capability.codecType = static_cast(ipcCaps.codecType());
           capability.interlaced = ipcCaps.interlaced();
 
-          if (aCapEngine == CameraEngine) {
 #ifdef DEBUG
-            auto deviceUniqueID = sDeviceUniqueIDs.find(capnum);
-            MOZ_ASSERT(deviceUniqueID == sDeviceUniqueIDs.end());
+          auto deviceUniqueID = sDeviceUniqueIDs.find(capnum);
+          MOZ_ASSERT(deviceUniqueID == sDeviceUniqueIDs.end());
 #endif
-            sDeviceUniqueIDs.emplace(capnum, cap.VideoCapture()->CurrentDeviceName());
-            sAllRequestedCapabilities.emplace(capnum, capability);
+          sDeviceUniqueIDs.emplace(capnum, cap.VideoCapture()->CurrentDeviceName());
+          sAllRequestedCapabilities.emplace(capnum, capability);
 
+          if (aCapEngine == CameraEngine) {
             for (const auto &it : sDeviceUniqueIDs) {
               if (strcmp(it.second, cap.VideoCapture()->CurrentDeviceName()) == 0) {
                 capability.width = std::max(
@@ -908,6 +908,16 @@ CamerasParent::RecvStartCapture(const CaptureEngine& aCapEngine,
             }
             MOZ_ASSERT(minIdx != -1);
             capability = candidateCapabilities->second[minIdx];
+          } else if (aCapEngine == ScreenEngine ||
+                     aCapEngine == BrowserEngine ||
+                     aCapEngine == WinEngine ||
+                     aCapEngine == AppEngine) {
+            for (const auto &it : sDeviceUniqueIDs) {
+              if (strcmp(it.second, cap.VideoCapture()->CurrentDeviceName()) == 0) {
+                capability.maxFPS = std::max(
+                  capability.maxFPS, sAllRequestedCapabilities[it.first].maxFPS);
+              }
+            }
           }
 
           error = cap.VideoCapture()->StartCapture(capability);
@@ -949,16 +959,14 @@ CamerasParent::StopCapture(const CaptureEngine& aCapEngine,
           mCallbacks[i - 1]->mStreamId == (uint32_t)capnum) {
 
         CallbackHelper* cbh = mCallbacks[i-1];
-        engine->WithEntry(capnum,[cbh, &capnum, &aCapEngine](VideoEngine::CaptureEntry& cap){
+        engine->WithEntry(capnum,[cbh, &capnum](VideoEngine::CaptureEntry& cap){
           if (cap.VideoCapture()) {
             cap.VideoCapture()->DeRegisterCaptureDataCallback(
               static_cast*>(cbh));
             cap.VideoCapture()->StopCaptureIfAllClientsClose();
 
-            if (aCapEngine == CameraEngine) {
-              sDeviceUniqueIDs.erase(capnum);
-              sAllRequestedCapabilities.erase(capnum);
-            }
+            sDeviceUniqueIDs.erase(capnum);
+            sAllRequestedCapabilities.erase(capnum);
           }
         });
 
diff --git a/dom/media/webrtc/MediaEngineCameraVideoSource.cpp b/dom/media/webrtc/MediaEngineCameraVideoSource.cpp
index 25aedad88d04..96f56def83a4 100644
--- a/dom/media/webrtc/MediaEngineCameraVideoSource.cpp
+++ b/dom/media/webrtc/MediaEngineCameraVideoSource.cpp
@@ -25,10 +25,20 @@ bool MediaEngineCameraVideoSource::AppendToTrack(SourceMediaStream* aSource,
                                                  const PrincipalHandle& aPrincipalHandle)
 {
   MOZ_ASSERT(aSource);
+  MOZ_ASSERT(aImage);
+
+  if (!aImage) {
+    return 0;
+  }
 
   VideoSegment segment;
   RefPtr image = aImage;
-  IntSize size(image ? mWidth : 0, image ? mHeight : 0);
+  IntSize size = image->GetSize();
+
+  if (!size.width || !size.height) {
+    return 0;
+  }
+
   segment.AppendFrame(image.forget(), delta, size, aPrincipalHandle);
 
   // This is safe from any thread, and is safe if the track is Finished
diff --git a/dom/media/webrtc/MediaEngineCameraVideoSource.h b/dom/media/webrtc/MediaEngineCameraVideoSource.h
index d78bcaeed8ff..17e9c91753ae 100644
--- a/dom/media/webrtc/MediaEngineCameraVideoSource.h
+++ b/dom/media/webrtc/MediaEngineCameraVideoSource.h
@@ -140,6 +140,7 @@ protected:
   nsTArray> mSources; // When this goes empty, we shut down HW
   nsTArray mPrincipalHandles; // Directly mapped to mSources.
   RefPtr mImage;
+  nsTArray> mImages;
   nsTArray mTargetCapabilities;
   nsTArray mHandleIds;
   RefPtr mImageContainer;
diff --git a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
index e7024513cf77..1016a6ec9858 100644
--- a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
+++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
@@ -10,6 +10,9 @@
 #include "nsIPrefService.h"
 #include "MediaTrackConstraints.h"
 #include "CamerasChild.h"
+#include "VideoFrameUtils.h"
+#include "webrtc/api/video/i420_buffer.h"
+#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
 
 extern mozilla::LogModule* GetMediaManagerLog();
 #define LOG(msg) MOZ_LOG(GetMediaManagerLog(), mozilla::LogLevel::Debug, msg)
@@ -84,6 +87,7 @@ MediaEngineRemoteVideoSource::Shutdown()
           MOZ_ASSERT(mPrincipalHandles.IsEmpty());
           MOZ_ASSERT(mTargetCapabilities.IsEmpty());
           MOZ_ASSERT(mHandleIds.IsEmpty());
+          MOZ_ASSERT(mImages.IsEmpty());
           break;
         }
         source = mSources[0];
@@ -132,6 +136,7 @@ MediaEngineRemoteVideoSource::Allocate(
       MOZ_ASSERT(mPrincipalHandles.IsEmpty());
       MOZ_ASSERT(mTargetCapabilities.IsEmpty());
       MOZ_ASSERT(mHandleIds.IsEmpty());
+      MOZ_ASSERT(mImages.IsEmpty());
       LOG(("Video device %d reallocated", mCaptureIndex));
     } else {
       LOG(("Video device %d allocated shared", mCaptureIndex));
@@ -174,16 +179,21 @@ MediaEngineRemoteVideoSource::Start(SourceMediaStream* aStream, TrackID aID,
     return NS_ERROR_FAILURE;
   }
 
+  mImageContainer =
+    layers::LayerManager::CreateImageContainer(layers::ImageContainer::ASYNCHRONOUS);
+
   {
     MonitorAutoLock lock(mMonitor);
     mSources.AppendElement(aStream);
     mPrincipalHandles.AppendElement(aPrincipalHandle);
     mTargetCapabilities.AppendElement(mTargetCapability);
     mHandleIds.AppendElement(mHandleId);
+    mImages.AppendElement(mImageContainer->CreatePlanarYCbCrImage());
 
     MOZ_ASSERT(mSources.Length() == mPrincipalHandles.Length());
     MOZ_ASSERT(mSources.Length() == mTargetCapabilities.Length());
     MOZ_ASSERT(mSources.Length() == mHandleIds.Length());
+    MOZ_ASSERT(mSources.Length() == mImages.Length());
   }
 
   aStream->AddTrack(aID, 0, new VideoSegment(), SourceMediaStream::ADDTRACK_QUEUED);
@@ -191,8 +201,6 @@ MediaEngineRemoteVideoSource::Start(SourceMediaStream* aStream, TrackID aID,
   if (mState == kStarted) {
     return NS_OK;
   }
-  mImageContainer =
-    layers::LayerManager::CreateImageContainer(layers::ImageContainer::ASYNCHRONOUS);
 
   mState = kStarted;
   mTrackID = aID;
@@ -231,10 +239,12 @@ MediaEngineRemoteVideoSource::Stop(mozilla::SourceMediaStream* aSource,
     MOZ_ASSERT(mSources.Length() == mPrincipalHandles.Length());
     MOZ_ASSERT(mSources.Length() == mTargetCapabilities.Length());
     MOZ_ASSERT(mSources.Length() == mHandleIds.Length());
+    MOZ_ASSERT(mSources.Length() == mImages.Length());
     mSources.RemoveElementAt(i);
     mPrincipalHandles.RemoveElementAt(i);
     mTargetCapabilities.RemoveElementAt(i);
     mHandleIds.RemoveElementAt(i);
+    mImages.RemoveElementAt(i);
 
     aSource->EndTrack(aID);
 
@@ -318,7 +328,12 @@ MediaEngineRemoteVideoSource::UpdateSingleSource(
         }
 
         if (index != mHandleIds.NoIndex) {
+          MonitorAutoLock lock(mMonitor);
           mTargetCapabilities[index] = mTargetCapability;
+          MOZ_ASSERT(mSources.Length() == mPrincipalHandles.Length());
+          MOZ_ASSERT(mSources.Length() == mTargetCapabilities.Length());
+          MOZ_ASSERT(mSources.Length() == mHandleIds.Length());
+          MOZ_ASSERT(mSources.Length() == mImages.Length());
         }
 
         if (!ChooseCapability(aNetConstraints, aPrefs, aDeviceId, mCapability,
@@ -385,18 +400,22 @@ MediaEngineRemoteVideoSource::NotifyPull(MediaStreamGraph* aGraph,
                                          TrackID aID, StreamTime aDesiredTime,
                                          const PrincipalHandle& aPrincipalHandle)
 {
-  VideoSegment segment;
-
+  StreamTime delta = 0;
+  size_t i;
   MonitorAutoLock lock(mMonitor);
   if (mState != kStarted) {
     return;
   }
 
-  StreamTime delta = aDesiredTime - aSource->GetEndOfAppendedData(aID);
+  i = mSources.IndexOf(aSource);
+  if (i == mSources.NoIndex) {
+    return;
+  }
+
+  delta = aDesiredTime - aSource->GetEndOfAppendedData(aID);
 
   if (delta > 0) {
-    // nullptr images are allowed
-    AppendToTrack(aSource, mImage, aID, delta, aPrincipalHandle);
+    AppendToTrack(aSource, mImages[i], aID, delta, aPrincipalHandle);
   }
 }
 
@@ -419,11 +438,12 @@ MediaEngineRemoteVideoSource::FrameSizeChange(unsigned int w, unsigned int h)
 }
 
 int
-MediaEngineRemoteVideoSource::DeliverFrame(uint8_t* aBuffer ,
+MediaEngineRemoteVideoSource::DeliverFrame(uint8_t* aBuffer,
                                     const camera::VideoFrameProperties& aProps)
 {
+  MonitorAutoLock lock(mMonitor);
   // Check for proper state.
-  if (mState != kStarted) {
+  if (mState != kStarted || !mImageContainer) {
     LOG(("DeliverFrame: video not started"));
     return 0;
   }
@@ -431,51 +451,114 @@ MediaEngineRemoteVideoSource::DeliverFrame(uint8_t* aBuffer ,
   // Update the dimensions
   FrameSizeChange(aProps.width(), aProps.height());
 
-  layers::PlanarYCbCrData data;
-  RefPtr image;
-  {
-    // We grab the lock twice, but don't hold it across the (long) CopyData
-    MonitorAutoLock lock(mMonitor);
-    if (!mImageContainer) {
-      LOG(("DeliverFrame() called after Stop()!"));
-      return 0;
-    }
-    // Create a video frame and append it to the track.
-    image = mImageContainer->CreatePlanarYCbCrImage();
+  MOZ_ASSERT(mSources.Length() == mPrincipalHandles.Length());
+  MOZ_ASSERT(mSources.Length() == mTargetCapabilities.Length());
+  MOZ_ASSERT(mSources.Length() == mHandleIds.Length());
+  MOZ_ASSERT(mSources.Length() == mImages.Length());
+
+  for (uint32_t i = 0; i < mTargetCapabilities.Length(); i++ ) {
+    int32_t req_max_width = mTargetCapabilities[i].width & 0xffff;
+    int32_t req_max_height = mTargetCapabilities[i].height & 0xffff;
+    int32_t req_ideal_width = (mTargetCapabilities[i].width >> 16) & 0xffff;
+    int32_t req_ideal_height = (mTargetCapabilities[i].height >> 16) & 0xffff;
+
+    int32_t dest_max_width = std::min(req_max_width, mWidth);
+    int32_t dest_max_height = std::min(req_max_height, mHeight);
+    // This logic works for both camera and screen sharing case.
+    // for camera case, req_ideal_width and req_ideal_height is 0.
+    // The following snippet will set dst_width to dest_max_width and dst_height to dest_max_height
+    int32_t dst_width = std::min(req_ideal_width > 0 ? req_ideal_width : mWidth, dest_max_width);
+    int32_t dst_height = std::min(req_ideal_height > 0 ? req_ideal_height : mHeight, dest_max_height);
+
+    int dst_stride_y = dst_width;
+    int dst_stride_uv = (dst_width + 1) / 2;
+
+    camera::VideoFrameProperties properties;
+    uint8_t* frame;
+    bool needReScale = !((dst_width == mWidth && dst_height == mHeight) ||
+                         (dst_width > mWidth || dst_height > mHeight));
+
+    if (!needReScale) {
+      dst_width = mWidth;
+      dst_height = mHeight;
+      frame = aBuffer;
+    } else {
+      rtc::scoped_refptr i420Buffer;
+      i420Buffer = webrtc::I420Buffer::Create(mWidth, mHeight, mWidth,
+                                              (mWidth + 1) / 2, (mWidth + 1) / 2);
+
+      const int conversionResult = webrtc::ConvertToI420(webrtc::kI420,
+                                                         aBuffer,
+                                                         0, 0,  // No cropping
+                                                         mWidth, mHeight,
+                                                         mWidth * mHeight * 3 / 2,
+                                                         webrtc::kVideoRotation_0,
+                                                         i420Buffer.get());
+
+      webrtc::VideoFrame captureFrame(i420Buffer, 0, 0, webrtc::kVideoRotation_0);
+      if (conversionResult < 0) {
+        return 0;
+      }
+
+      rtc::scoped_refptr scaledBuffer;
+      scaledBuffer = webrtc::I420Buffer::Create(dst_width, dst_height, dst_stride_y,
+                                                dst_stride_uv, dst_stride_uv);
+
+      scaledBuffer->CropAndScaleFrom(*captureFrame.video_frame_buffer().get());
+      webrtc::VideoFrame scaledFrame(scaledBuffer, 0, 0, webrtc::kVideoRotation_0);
+
+      VideoFrameUtils::InitFrameBufferProperties(scaledFrame, properties);
+      frame = new unsigned char[properties.bufferSize()];
+
+      if (!frame) {
+        return 0;
+      }
+
+      VideoFrameUtils::CopyVideoFrameBuffers(frame,
+                                             properties.bufferSize(), scaledFrame);
+    }
+
+    // Create a video frame and append it to the track.
+    RefPtr image = mImageContainer->CreatePlanarYCbCrImage();
 
-    uint8_t* frame = static_cast (aBuffer);
     const uint8_t lumaBpp = 8;
     const uint8_t chromaBpp = 4;
 
+    layers::PlanarYCbCrData data;
+
     // Take lots of care to round up!
     data.mYChannel = frame;
-    data.mYSize = IntSize(mWidth, mHeight);
-    data.mYStride = (mWidth * lumaBpp + 7)/ 8;
-    data.mCbCrStride = (mWidth * chromaBpp + 7) / 8;
-    data.mCbChannel = frame + mHeight * data.mYStride;
-    data.mCrChannel = data.mCbChannel + ((mHeight+1)/2) * data.mCbCrStride;
-    data.mCbCrSize = IntSize((mWidth+1)/ 2, (mHeight+1)/ 2);
+    data.mYSize = IntSize(dst_width, dst_height);
+    data.mYStride = (dst_width * lumaBpp + 7) / 8;
+    data.mCbCrStride = (dst_width * chromaBpp + 7) / 8;
+    data.mCbChannel = frame + dst_height * data.mYStride;
+    data.mCrChannel = data.mCbChannel + ((dst_height + 1) / 2) * data.mCbCrStride;
+    data.mCbCrSize = IntSize((dst_width + 1) / 2, (dst_height + 1) / 2);
     data.mPicX = 0;
     data.mPicY = 0;
-    data.mPicSize = IntSize(mWidth, mHeight);
+    data.mPicSize = IntSize(dst_width, dst_height);
     data.mStereoMode = StereoMode::MONO;
-  }
 
-  if (!image->CopyData(data)) {
-    MOZ_ASSERT(false);
-    return 0;
-  }
+    if (!image->CopyData(data)) {
+      MOZ_ASSERT(false);
+      return 0;
+    }
+
+    if (needReScale && frame) {
+      delete frame;
+      frame = nullptr;
+    }
 
-  MonitorAutoLock lock(mMonitor);
 #ifdef DEBUG
-  static uint32_t frame_num = 0;
-  LOGFRAME(("frame %d (%dx%d); timeStamp %u, ntpTimeMs %" PRIu64 ", renderTimeMs %" PRIu64,
-            frame_num++, mWidth, mHeight,
-            aProps.timeStamp(), aProps.ntpTimeMs(), aProps.renderTimeMs()));
+    static uint32_t frame_num = 0;
+    LOGFRAME(("frame %d (%dx%d); timeStamp %u, ntpTimeMs %" PRIu64 ", renderTimeMs %" PRIu64,
+              frame_num++, mWidth, mHeight,
+              aProps.timeStamp(), aProps.ntpTimeMs(), aProps.renderTimeMs()));
 #endif
 
-  // implicitly releases last image
-  mImage = image.forget();
+    // implicitly releases last image
+    mImages[i] = image.forget();
+  }
 
   // We'll push the frame into the MSG on the next NotifyPull. This will avoid
   // swamping the MSG with frames should it be taking longer than normal to run
diff --git a/media/webrtc/trunk/webrtc/video_engine/desktop_capture_impl.cc b/media/webrtc/trunk/webrtc/video_engine/desktop_capture_impl.cc
index b464893d56ee..e53175f63a21 100644
--- a/media/webrtc/trunk/webrtc/video_engine/desktop_capture_impl.cc
+++ b/media/webrtc/trunk/webrtc/video_engine/desktop_capture_impl.cc
@@ -582,45 +582,7 @@ int32_t DesktopCaptureImpl::IncomingFrame(uint8_t* videoFrame,
       return -1;
     }
 
-    int32_t req_max_width = _requestedCapability.width & 0xffff;
-    int32_t req_max_height = _requestedCapability.height & 0xffff;
-    int32_t req_ideal_width = (_requestedCapability.width >> 16) & 0xffff;
-    int32_t req_ideal_height = (_requestedCapability.height >> 16) & 0xffff;
-
-    int32_t dest_max_width = std::min(req_max_width, target_width);
-    int32_t dest_max_height = std::min(req_max_height, target_height);
-    int32_t dst_width = std::min(req_ideal_width > 0 ? req_ideal_width : target_width, dest_max_width);
-    int32_t dst_height = std::min(req_ideal_height > 0 ? req_ideal_height : target_height, dest_max_height);
-
-    // scale to average of portrait and landscape
-    float scale_width = (float)dst_width / (float)target_width;
-    float scale_height = (float)dst_height / (float)target_height;
-    float scale = (scale_width + scale_height) / 2;
-    dst_width = (int)(scale * target_width);
-    dst_height = (int)(scale * target_height);
-
-    // if scaled rectangle exceeds max rectangle, scale to minimum of portrait and landscape
-    if (dst_width > dest_max_width || dst_height > dest_max_height) {
-      scale_width = (float)dest_max_width / (float)dst_width;
-      scale_height = (float)dest_max_height / (float)dst_height;
-      scale = std::min(scale_width, scale_height);
-      dst_width = (int)(scale * dst_width);
-      dst_height = (int)(scale * dst_height);
-    }
-
-    int dst_stride_y = dst_width;
-    int dst_stride_uv = (dst_width + 1) / 2;
-    if (dst_width == target_width && dst_height == target_height) {
-      DeliverCapturedFrame(captureFrame, captureTime);
-    } else {
-      rtc::scoped_refptr buffer;
-      buffer = I420Buffer::Create(dst_width, dst_height, dst_stride_y,
-                                  dst_stride_uv, dst_stride_uv);
-
-      buffer->ScaleFrom(*captureFrame.video_frame_buffer().get());
-      webrtc::VideoFrame scaledFrame(buffer, 0, 0, kVideoRotation_0);
-      DeliverCapturedFrame(scaledFrame, captureTime);
-    }
+    DeliverCapturedFrame(captureFrame, captureTime);
   } else {
     assert(false);
     return -1;

From dec75b31dafa8c7d3f0ed184f89ffa52a1111acd Mon Sep 17 00:00:00 2001
From: Bob Silverberg 
Date: Fri, 24 Nov 2017 08:26:34 -0500
Subject: [PATCH 56/77] Bug 1416039 - Fix intermittent
 browser_ext_tabs_lastAccessed.js, r=mixedpuppy

The recent failures all seem to be on the assertion that lastAccessed of tab 1 is
later than the test start time. It's possible that things happen so quickly that
lastAccessed of tab 1 is the same as the start time, so this patch changes the
comparison to be a <=.

MozReview-Commit-ID: 67CVQPj1ShM

--HG--
extra : rebase_source : c370422f3c9e54bbae8b4e7827c671c5a784ce7b
---
 .../extensions/test/browser/browser_ext_tabs_lastAccessed.js    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/browser/components/extensions/test/browser/browser_ext_tabs_lastAccessed.js b/browser/components/extensions/test/browser/browser_ext_tabs_lastAccessed.js
index f80b179e2c8b..80813011c859 100644
--- a/browser/components/extensions/test/browser/browser_ext_tabs_lastAccessed.js
+++ b/browser/components/extensions/test/browser/browser_ext_tabs_lastAccessed.js
@@ -21,7 +21,7 @@ add_task(async function testLastAccessed() {
 
         let now = Date.now();
 
-        browser.test.assertTrue(past < tab1.lastAccessed,
+        browser.test.assertTrue(past <= tab1.lastAccessed,
                                 "lastAccessed of tab 1 is later than the test start time.");
         browser.test.assertTrue(tab1.lastAccessed < tab2.lastAccessed,
                                 "lastAccessed of tab 2 is later than lastAccessed of tab 1.");

From 3f824300d242b557c725b76f623de32b414f62aa Mon Sep 17 00:00:00 2001
From: "bechen@mozilla.com" 
Date: Wed, 22 Nov 2017 15:12:03 +0800
Subject: [PATCH 57/77] Bug 1415805 - throw exception at region.lines setter if
 value is negative. r=smaug

MozReview-Commit-ID: 2SMJGQBFpgJ

--HG--
extra : rebase_source : a8a640636be0394d410bf4ba57f094525a4c92c4
---
 dom/media/TextTrackRegion.h | 8 ++++++--
 dom/webidl/VTTRegion.webidl | 3 +--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/dom/media/TextTrackRegion.h b/dom/media/TextTrackRegion.h
index 249ea29294b5..892d7c7ad19d 100644
--- a/dom/media/TextTrackRegion.h
+++ b/dom/media/TextTrackRegion.h
@@ -47,9 +47,13 @@ public:
     return mLines;
   }
 
-  void SetLines(double aLines)
+  void SetLines(double aLines, ErrorResult& aRv)
   {
-    mLines = aLines;
+    if (aLines < 0) {
+      aRv.Throw(NS_ERROR_DOM_INDEX_SIZE_ERR);
+    } else {
+      mLines = aLines;
+    }
   }
 
   double Width() const
diff --git a/dom/webidl/VTTRegion.webidl b/dom/webidl/VTTRegion.webidl
index 12d203a44376..df35eb2815db 100644
--- a/dom/webidl/VTTRegion.webidl
+++ b/dom/webidl/VTTRegion.webidl
@@ -12,9 +12,8 @@ interface VTTRegion {
            attribute DOMString id;
            [SetterThrows]
            attribute double width;
-
+           [SetterThrows]
            attribute long lines;
-
            [SetterThrows]
            attribute double regionAnchorX;
            [SetterThrows]

From d644e57ff901ac15d71d3a619e278159e30e9c02 Mon Sep 17 00:00:00 2001
From: "bechen@mozilla.com" 
Date: Wed, 22 Nov 2017 16:10:06 +0800
Subject: [PATCH 58/77] Bug 1415805 - enable region preference and wpt tests
 webvtt/api/VTTRegion. r=rillian

MozReview-Commit-ID: 1aaQml7gKBU

--HG--
extra : rebase_source : 34b5c39af3cab32f070335fd3cf183c45db2282a
---
 modules/libpref/init/all.js                   |   2 +-
 .../webvtt/api/VTTRegion/constructor.html.ini |   5 -
 .../meta/webvtt/api/VTTRegion/id.html.ini     |   5 -
 .../meta/webvtt/api/VTTRegion/lines.html.ini  |   5 -
 .../api/VTTRegion/regionAnchorX.html.ini      |   5 -
 .../api/VTTRegion/regionAnchorY.html.ini      |   5 -
 .../meta/webvtt/api/VTTRegion/scroll.html.ini |   5 -
 .../api/VTTRegion/viewportAnchorX.html.ini    |   5 -
 .../api/VTTRegion/viewportAnchorY.html.ini    |   5 -
 .../meta/webvtt/api/VTTRegion/width.html.ini  |   5 -
 .../meta/webvtt/api/historical.html.ini       |   5 -
 .../meta/webvtt/api/interfaces.html.ini       | 101 ------------------
 12 files changed, 1 insertion(+), 152 deletions(-)
 delete mode 100644 testing/web-platform/meta/webvtt/api/VTTRegion/constructor.html.ini
 delete mode 100644 testing/web-platform/meta/webvtt/api/VTTRegion/id.html.ini
 delete mode 100644 testing/web-platform/meta/webvtt/api/VTTRegion/lines.html.ini
 delete mode 100644 testing/web-platform/meta/webvtt/api/VTTRegion/regionAnchorX.html.ini
 delete mode 100644 testing/web-platform/meta/webvtt/api/VTTRegion/regionAnchorY.html.ini
 delete mode 100644 testing/web-platform/meta/webvtt/api/VTTRegion/scroll.html.ini
 delete mode 100644 testing/web-platform/meta/webvtt/api/VTTRegion/viewportAnchorX.html.ini
 delete mode 100644 testing/web-platform/meta/webvtt/api/VTTRegion/viewportAnchorY.html.ini
 delete mode 100644 testing/web-platform/meta/webvtt/api/VTTRegion/width.html.ini
 delete mode 100644 testing/web-platform/meta/webvtt/api/historical.html.ini
 delete mode 100644 testing/web-platform/meta/webvtt/api/interfaces.html.ini

diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
index f8f660c3e527..db93f3097eb2 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -548,7 +548,7 @@ pref("media.getusermedia.screensharing.enabled", true);
 pref("media.getusermedia.audiocapture.enabled", false);
 
 // TextTrack WebVTT Region extension support.
-pref("media.webvtt.regions.enabled", false);
+pref("media.webvtt.regions.enabled", true);
 
 // WebVTT pseudo element and class support.
 pref("media.webvtt.pseudo.enabled", true);
diff --git a/testing/web-platform/meta/webvtt/api/VTTRegion/constructor.html.ini b/testing/web-platform/meta/webvtt/api/VTTRegion/constructor.html.ini
deleted file mode 100644
index 839539d3061b..000000000000
--- a/testing/web-platform/meta/webvtt/api/VTTRegion/constructor.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[constructor.html]
-  type: testharness
-  [VTTRegion() initial values]
-    expected: FAIL
-
diff --git a/testing/web-platform/meta/webvtt/api/VTTRegion/id.html.ini b/testing/web-platform/meta/webvtt/api/VTTRegion/id.html.ini
deleted file mode 100644
index ecb210ba7acb..000000000000
--- a/testing/web-platform/meta/webvtt/api/VTTRegion/id.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[id.html]
-  type: testharness
-  [VTTRegion.id script-created region]
-    expected: FAIL
-
diff --git a/testing/web-platform/meta/webvtt/api/VTTRegion/lines.html.ini b/testing/web-platform/meta/webvtt/api/VTTRegion/lines.html.ini
deleted file mode 100644
index fff99fbc00eb..000000000000
--- a/testing/web-platform/meta/webvtt/api/VTTRegion/lines.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[lines.html]
-  type: testharness
-  [VTTRegion.lines script-created region]
-    expected: FAIL
-
diff --git a/testing/web-platform/meta/webvtt/api/VTTRegion/regionAnchorX.html.ini b/testing/web-platform/meta/webvtt/api/VTTRegion/regionAnchorX.html.ini
deleted file mode 100644
index 40068535027c..000000000000
--- a/testing/web-platform/meta/webvtt/api/VTTRegion/regionAnchorX.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[regionAnchorX.html]
-  type: testharness
-  [VTTRegion.regionAnchorX script-created region]
-    expected: FAIL
-
diff --git a/testing/web-platform/meta/webvtt/api/VTTRegion/regionAnchorY.html.ini b/testing/web-platform/meta/webvtt/api/VTTRegion/regionAnchorY.html.ini
deleted file mode 100644
index 4b80c99bada9..000000000000
--- a/testing/web-platform/meta/webvtt/api/VTTRegion/regionAnchorY.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[regionAnchorY.html]
-  type: testharness
-  [VTTRegion.regionAnchorY script-created region]
-    expected: FAIL
-
diff --git a/testing/web-platform/meta/webvtt/api/VTTRegion/scroll.html.ini b/testing/web-platform/meta/webvtt/api/VTTRegion/scroll.html.ini
deleted file mode 100644
index e8d9b12572ee..000000000000
--- a/testing/web-platform/meta/webvtt/api/VTTRegion/scroll.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[scroll.html]
-  type: testharness
-  [VTTRegion.scroll script-created region]
-    expected: FAIL
-
diff --git a/testing/web-platform/meta/webvtt/api/VTTRegion/viewportAnchorX.html.ini b/testing/web-platform/meta/webvtt/api/VTTRegion/viewportAnchorX.html.ini
deleted file mode 100644
index 198f9ff5c563..000000000000
--- a/testing/web-platform/meta/webvtt/api/VTTRegion/viewportAnchorX.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[viewportAnchorX.html]
-  type: testharness
-  [VTTRegion.viewportAnchorX script-created region]
-    expected: FAIL
-
diff --git a/testing/web-platform/meta/webvtt/api/VTTRegion/viewportAnchorY.html.ini b/testing/web-platform/meta/webvtt/api/VTTRegion/viewportAnchorY.html.ini
deleted file mode 100644
index aca96142ea35..000000000000
--- a/testing/web-platform/meta/webvtt/api/VTTRegion/viewportAnchorY.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[viewportAnchorY.html]
-  type: testharness
-  [VTTRegion.viewportAnchorY script-created region]
-    expected: FAIL
-
diff --git a/testing/web-platform/meta/webvtt/api/VTTRegion/width.html.ini b/testing/web-platform/meta/webvtt/api/VTTRegion/width.html.ini
deleted file mode 100644
index 206f48276b80..000000000000
--- a/testing/web-platform/meta/webvtt/api/VTTRegion/width.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[width.html]
-  type: testharness
-  [VTTRegion.width script-created region]
-    expected: FAIL
-
diff --git a/testing/web-platform/meta/webvtt/api/historical.html.ini b/testing/web-platform/meta/webvtt/api/historical.html.ini
deleted file mode 100644
index 4560190e7fae..000000000000
--- a/testing/web-platform/meta/webvtt/api/historical.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[historical.html]
-  type: testharness
-  [VTTRegion track member must be nuked]
-    expected: FAIL
-
diff --git a/testing/web-platform/meta/webvtt/api/interfaces.html.ini b/testing/web-platform/meta/webvtt/api/interfaces.html.ini
deleted file mode 100644
index 7bf936ae3157..000000000000
--- a/testing/web-platform/meta/webvtt/api/interfaces.html.ini
+++ /dev/null
@@ -1,101 +0,0 @@
-[interfaces.html]
-  type: testharness
-  [VTTCue interface: attribute region]
-    expected: FAIL
-
-  [VTTCue interface: new VTTCue(0, 0, "") must inherit property "region" with the proper type (0)]
-    expected: FAIL
-
-  [VTTRegion interface: existence and properties of interface object]
-    expected: FAIL
-
-  [VTTRegion interface object length]
-    expected: FAIL
-
-  [VTTRegion interface object name]
-    expected: FAIL
-
-  [VTTRegion interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [VTTRegion interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [VTTRegion interface: attribute width]
-    expected: FAIL
-
-  [VTTRegion interface: attribute lines]
-    expected: FAIL
-
-  [VTTRegion interface: attribute regionAnchorX]
-    expected: FAIL
-
-  [VTTRegion interface: attribute regionAnchorY]
-    expected: FAIL
-
-  [VTTRegion interface: attribute viewportAnchorX]
-    expected: FAIL
-
-  [VTTRegion interface: attribute viewportAnchorY]
-    expected: FAIL
-
-  [VTTRegion interface: attribute scroll]
-    expected: FAIL
-
-  [VTTRegion must be primary interface of new VTTRegion()]
-    expected: FAIL
-
-  [Stringification of new VTTRegion()]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "width" with the proper type (0)]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "lines" with the proper type (1)]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "regionAnchorX" with the proper type (2)]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "regionAnchorY" with the proper type (3)]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "viewportAnchorX" with the proper type (4)]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "viewportAnchorY" with the proper type (5)]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "scroll" with the proper type (6)]
-    expected: FAIL
-
-  [VTTCue interface: new VTTCue(0, 0, "") must inherit property "region" with the proper type]
-    expected: FAIL
-
-  [VTTRegion interface: attribute id]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "id" with the proper type]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "width" with the proper type]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "lines" with the proper type]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "regionAnchorX" with the proper type]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "regionAnchorY" with the proper type]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "viewportAnchorX" with the proper type]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "viewportAnchorY" with the proper type]
-    expected: FAIL
-
-  [VTTRegion interface: new VTTRegion() must inherit property "scroll" with the proper type]
-    expected: FAIL
-

From 173e42059a4726f70da6cf8fcfe7781cfeef41ad Mon Sep 17 00:00:00 2001
From: "bechen@mozilla.com" 
Date: Wed, 22 Nov 2017 16:10:11 +0800
Subject: [PATCH 59/77] Bug 1415805 - region.scroll setter should not throw.
 r=smaug

MozReview-Commit-ID: FU9YBBeLT5B

--HG--
extra : rebase_source : f0b0ff7b8c1ac44c9f4c9d6058bb6027178d44c6
---
 dom/media/TextTrackRegion.cpp |  2 +-
 dom/media/TextTrackRegion.h   | 20 +++++++-------------
 dom/webidl/VTTRegion.webidl   | 11 ++++++++---
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/dom/media/TextTrackRegion.cpp b/dom/media/TextTrackRegion.cpp
index 9a82011cd125..0ddfb20d1542 100644
--- a/dom/media/TextTrackRegion.cpp
+++ b/dom/media/TextTrackRegion.cpp
@@ -5,7 +5,6 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "mozilla/dom/TextTrackRegion.h"
-#include "mozilla/dom/VTTRegionBinding.h"
 
 namespace mozilla {
 namespace dom {
@@ -45,6 +44,7 @@ TextTrackRegion::TextTrackRegion(nsISupports* aGlobal)
   , mRegionAnchorY(100)
   , mViewportAnchorX(0)
   , mViewportAnchorY(100)
+  , mScroll(ScrollSetting::_empty)
 {
 }
 
diff --git a/dom/media/TextTrackRegion.h b/dom/media/TextTrackRegion.h
index 892d7c7ad19d..cef0f7942506 100644
--- a/dom/media/TextTrackRegion.h
+++ b/dom/media/TextTrackRegion.h
@@ -12,6 +12,7 @@
 #include "nsWrapperCache.h"
 #include "mozilla/ErrorResult.h"
 #include "mozilla/dom/TextTrack.h"
+#include "mozilla/dom/VTTRegionBinding.h"
 #include "mozilla/Preferences.h"
 
 namespace mozilla {
@@ -116,19 +117,16 @@ public:
     }
   }
 
-  void GetScroll(nsAString& aScroll) const
+  ScrollSetting Scroll() const
   {
-    aScroll = mScroll;
+    return mScroll;
   }
 
-  void SetScroll(const nsAString& aScroll, ErrorResult& aRv)
+  void SetScroll(const ScrollSetting& aScroll)
   {
-    if (!aScroll.EqualsLiteral("") && !aScroll.EqualsLiteral("up")) {
-      aRv.Throw(NS_ERROR_DOM_SYNTAX_ERR);
-      return;
+    if (aScroll == ScrollSetting::_empty || aScroll == ScrollSetting::Up) {
+      mScroll = aScroll;
     }
-
-    mScroll = aScroll;
   }
 
   void GetId(nsAString& aId) const
@@ -149,10 +147,6 @@ public:
   void CopyValues(TextTrackRegion& aRegion);
 
   // -----helpers-------
-  const nsAString& Scroll() const
-  {
-    return mScroll;
-  }
   const nsAString& Id() const
   {
     return mId;
@@ -169,7 +163,7 @@ private:
   double mRegionAnchorY;
   double mViewportAnchorX;
   double mViewportAnchorY;
-  nsString mScroll;
+  ScrollSetting mScroll;
 
   // Helper to ensure new value is in the range: 0.0% - 100.0%; throws
   // an IndexSizeError otherwise.
diff --git a/dom/webidl/VTTRegion.webidl b/dom/webidl/VTTRegion.webidl
index df35eb2815db..d665cfea4c83 100644
--- a/dom/webidl/VTTRegion.webidl
+++ b/dom/webidl/VTTRegion.webidl
@@ -4,9 +4,14 @@
  * You can obtain one at http://mozilla.org/MPL/2.0/.
  *
  * The origin of this IDL file is
- *  http://dev.w3.org/html5/webvtt/#extension-of-the-texttrack-interface-for-region-support
+ * https://w3c.github.io/webvtt/#the-vttregion-interface
  */
 
+enum ScrollSetting {
+  "",
+  "up"
+};
+
 [Constructor, Pref="media.webvtt.regions.enabled"]
 interface VTTRegion {
            attribute DOMString id;
@@ -22,6 +27,6 @@ interface VTTRegion {
            attribute double viewportAnchorX;
            [SetterThrows]
            attribute double viewportAnchorY;
-           [SetterThrows]
-           attribute DOMString scroll;
+
+           attribute ScrollSetting scroll;
 };

From 72672cd4bb5e7355383e65fed9c1831aa713a59b Mon Sep 17 00:00:00 2001
From: "bechen@mozilla.com" 
Date: Wed, 22 Nov 2017 17:05:12 +0800
Subject: [PATCH 60/77] Bug 1415805 - enable
 webvtt/paring/file-parsing/tests/region-old.html. r=rillian

MozReview-Commit-ID: 1G9Fd9sEW9x

--HG--
extra : rebase_source : fddb496b5ba5cee178efeedd29565bf45951d3ec
---
 .../meta/webvtt/parsing/file-parsing/tests/regions-old.html.ini | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/testing/web-platform/meta/webvtt/parsing/file-parsing/tests/regions-old.html.ini b/testing/web-platform/meta/webvtt/parsing/file-parsing/tests/regions-old.html.ini
index 1874fbe42f6a..78227ffda37a 100644
--- a/testing/web-platform/meta/webvtt/parsing/file-parsing/tests/regions-old.html.ini
+++ b/testing/web-platform/meta/webvtt/parsing/file-parsing/tests/regions-old.html.ini
@@ -1,5 +1,5 @@
 [regions-old.html]
   type: testharness
   [regions, old]
-    expected: FAIL
+    expected: PASS
 

From c6f32a7c0f9a6352086937cfdb51a5ac7cf85695 Mon Sep 17 00:00:00 2001
From: "bechen@mozilla.com" 
Date: Fri, 24 Nov 2017 11:15:11 +0800
Subject: [PATCH 61/77] Bug 1415805 - expose VTTRegion interface. r=smaug

MozReview-Commit-ID: LHVEuYEAgaj

--HG--
extra : rebase_source : ead70ca2a05949e1b09353703809a170b34fc409
---
 dom/tests/mochitest/general/test_interfaces.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dom/tests/mochitest/general/test_interfaces.js b/dom/tests/mochitest/general/test_interfaces.js
index 1cf58a4555f4..f68a36f4ec45 100644
--- a/dom/tests/mochitest/general/test_interfaces.js
+++ b/dom/tests/mochitest/general/test_interfaces.js
@@ -1189,7 +1189,7 @@ var interfaceNamesInGlobalScope =
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "VTTCue",
 // IMPORTANT: Do not change this list without review from a DOM peer!
-    {name: "VTTRegion", disabled: true},
+    "VTTRegion",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "WaveShaperNode",
 // IMPORTANT: Do not change this list without review from a DOM peer!

From 42c2f7913b9d4406c06674f08f78e3a35979c4d7 Mon Sep 17 00:00:00 2001
From: Marco Bonardo 
Date: Thu, 23 Nov 2017 13:47:34 +0100
Subject: [PATCH 62/77] Bug 1416142 - Intermittent timeout in
 browser_ext_omnibox.js. r=standard8

MozReview-Commit-ID: DAZumEpI1xB

--HG--
extra : rebase_source : d422ca4bd2afbf2ae7ea27027a2cddc0ff445a23
---
 .../test/browser/browser_ext_omnibox.js       | 44 ++++++++++++-------
 1 file changed, 29 insertions(+), 15 deletions(-)

diff --git a/browser/components/extensions/test/browser/browser_ext_omnibox.js b/browser/components/extensions/test/browser/browser_ext_omnibox.js
index ba341290c559..7e181ca21631 100644
--- a/browser/components/extensions/test/browser/browser_ext_omnibox.js
+++ b/browser/components/extensions/test/browser/browser_ext_omnibox.js
@@ -95,6 +95,18 @@ add_task(async function() {
     return gURLBar.popup.richlistbox.children[index];
   }
 
+  async function promiseClickOnItem(item, details) {
+    // The Address Bar panel is animated and updated on a timer, thus it may not
+    // yet be listening to events when we try to click on it.  This uses a
+    // polling strategy to repeat the click, if it doesn't go through.
+    let clicked = false;
+    item.addEventListener("mousedown", () => { clicked = true; }, {once: true});
+    while (!clicked) {
+      EventUtils.synthesizeMouseAtCenter(item, details);
+      await new Promise(r => window.requestIdleCallback(r, {timeout: 1000}));
+    }
+  }
+
   let inputSessionSerial = 0;
   async function startInputSession(indexToWaitFor) {
     gURLBar.focus();
@@ -198,12 +210,12 @@ add_task(async function() {
     is(item.getAttribute("displayurl"), `${keyword} ${text}`,
       `Expected heuristic result to have displayurl: "${keyword} ${text}".`);
 
-    EventUtils.synthesizeMouseAtCenter(item, {});
-
-    await expectEvent("on-input-entered-fired", {
+    let promiseEvent = expectEvent("on-input-entered-fired", {
       text,
       disposition: "currentTab",
     });
+    await promiseClickOnItem(item, {});
+    await promiseEvent;
   }
 
   async function testDisposition(suggestionIndex, expectedDisposition, expectedText) {
@@ -214,19 +226,20 @@ add_task(async function() {
       EventUtils.synthesizeKey("VK_DOWN", {});
     }
 
-    let item = gURLBar.popup.richlistbox.children[suggestionIndex];
-    if (expectedDisposition == "currentTab") {
-      EventUtils.synthesizeMouseAtCenter(item, {});
-    } else if (expectedDisposition == "newForegroundTab") {
-      EventUtils.synthesizeMouseAtCenter(item, {accelKey: true});
-    } else if (expectedDisposition == "newBackgroundTab") {
-      EventUtils.synthesizeMouseAtCenter(item, {shiftKey: true, accelKey: true});
-    }
-
-    await expectEvent("on-input-entered-fired", {
+    let promiseEvent = expectEvent("on-input-entered-fired", {
       text: expectedText,
       disposition: expectedDisposition,
     });
+
+    let item = gURLBar.popup.richlistbox.children[suggestionIndex];
+    if (expectedDisposition == "currentTab") {
+      await promiseClickOnItem(item, {});
+    } else if (expectedDisposition == "newForegroundTab") {
+      await promiseClickOnItem(item, {accelKey: true});
+    } else if (expectedDisposition == "newBackgroundTab") {
+      await promiseClickOnItem(item, {shiftKey: true, accelKey: true});
+    }
+    await promiseEvent;
   }
 
   async function testSuggestions(info) {
@@ -250,11 +263,12 @@ add_task(async function() {
 
     info.suggestions.forEach(expectSuggestion);
 
-    EventUtils.synthesizeMouseAtCenter(gURLBar.popup.richlistbox.children[0], {});
-    await expectEvent("on-input-entered-fired", {
+    let promiseEvent = expectEvent("on-input-entered-fired", {
       text,
       disposition: "currentTab",
     });
+    await promiseClickOnItem(gURLBar.popup.richlistbox.children[0], {});
+    await promiseEvent;
   }
 
   await extension.startup();

From e2440dcf56aad32bfc3eecc45d45898bae95a56d Mon Sep 17 00:00:00 2001
From: Ray Lin 
Date: Fri, 24 Nov 2017 01:01:45 +0800
Subject: [PATCH 63/77] Bug 1420169 - Move the ownership of input handler from
 form to section. r=lchang

MozReview-Commit-ID: FZgLNAqg1hR

--HG--
extra : rebase_source : e7ca556e80c24d7db32603a28460c1f051dc8eb7
---
 .../formautofill/FormAutofillHandler.jsm      | 55 +++++++++++--------
 1 file changed, 31 insertions(+), 24 deletions(-)

diff --git a/browser/extensions/formautofill/FormAutofillHandler.jsm b/browser/extensions/formautofill/FormAutofillHandler.jsm
index b2590ea08690..646d757d7347 100644
--- a/browser/extensions/formautofill/FormAutofillHandler.jsm
+++ b/browser/extensions/formautofill/FormAutofillHandler.jsm
@@ -393,11 +393,8 @@ class FormAutofillSection {
             (element != focusedInput && !element.value)) {
           element.setUserInput(value);
           this.changeFieldState(fieldDetail, FIELD_STATES.AUTO_FILLED);
-          continue;
         }
-      }
-
-      if (ChromeUtils.getClassName(element) === "HTMLSelectElement") {
+      } else if (ChromeUtils.getClassName(element) === "HTMLSelectElement") {
         let cache = this._cacheValue.matchingSelectOption.get(element) || {};
         let option = cache[value] && cache[value].get();
         if (!option) {
@@ -413,6 +410,9 @@ class FormAutofillSection {
         // Autofill highlight appears regardless if value is changed or not
         this.changeFieldState(fieldDetail, FIELD_STATES.AUTO_FILLED);
       }
+      if (fieldDetail.state == FIELD_STATES.AUTO_FILLED) {
+        element.addEventListener("input", this);
+      }
     }
   }
 
@@ -554,18 +554,10 @@ class FormAutofillSection {
     fieldDetail.state = nextState;
   }
 
-  clearFieldState(focusedInput) {
-    let fieldDetail = this.getFieldDetailByElement(focusedInput);
-    this.changeFieldState(fieldDetail, FIELD_STATES.NORMAL);
-    let targetSet = this._getTargetSet(focusedInput);
-
-    if (!targetSet.fieldDetails.some(detail => detail.state == FIELD_STATES.AUTO_FILLED)) {
-      targetSet.filledRecordGUID = null;
-    }
-  }
-
   resetFieldStates() {
     for (let fieldDetail of this._validDetails) {
+      const element = fieldDetail.elementWeakRef.get();
+      element.removeEventListener("input", this);
       this.changeFieldState(fieldDetail, FIELD_STATES.NORMAL);
     }
     this.address.filledRecordGUID = null;
@@ -743,6 +735,26 @@ class FormAutofillSection {
       Services.cpmm.sendAsyncMessage("FormAutofill:GetDecryptedString", {cipherText, reauth});
     });
   }
+
+  handleEvent(event) {
+    switch (event.type) {
+      case "input": {
+        if (!event.isTrusted) {
+          return;
+        }
+        const target = event.target;
+        const fieldDetail = this.getFieldDetailByElement(target);
+        const targetSet = this._getTargetSet(target);
+        this.changeFieldState(fieldDetail, FIELD_STATES.NORMAL);
+
+        if (!targetSet.fieldDetails.some(detail => detail.state == FIELD_STATES.AUTO_FILLED)) {
+          targetSet.filledRecordGUID = null;
+        }
+        target.removeEventListener("input", this);
+        break;
+      }
+    }
+  }
 }
 
 /**
@@ -928,25 +940,18 @@ class FormAutofillHandler {
    *        card field.
    */
   async autofillFormFields(profile, focusedInput) {
-    let noFilledSections = !this.hasFilledSection();
+    let noFilledSectionsPreviously = !this.hasFilledSection();
     await this.getSectionByElement(focusedInput).autofillFields(profile, focusedInput);
 
-    // Handle the highlight style resetting caused by user's correction afterward.
-    log.debug("register change handler for filled form:", this.form);
     const onChangeHandler = e => {
       if (!e.isTrusted) {
         return;
       }
-
-      if (e.type == "input") {
-        let section = this.getSectionByElement(e.target);
-        section.clearFieldState(e.target);
-      } else if (e.type == "reset") {
+      if (e.type == "reset") {
         for (let section of this.sections) {
           section.resetFieldStates();
         }
       }
-
       // Unregister listeners once no field is in AUTO_FILLED state.
       if (!this.hasFilledSection()) {
         this.form.rootElement.removeEventListener("input", onChangeHandler);
@@ -954,7 +959,9 @@ class FormAutofillHandler {
       }
     };
 
-    if (noFilledSections) {
+    if (noFilledSectionsPreviously) {
+      // Handle the highlight style resetting caused by user's correction afterward.
+      log.debug("register change handler for filled form:", this.form);
       this.form.rootElement.addEventListener("input", onChangeHandler);
       this.form.rootElement.addEventListener("reset", onChangeHandler);
     }

From 9dc9b78023dd90ea6ce29e93631d9db10fe7dd17 Mon Sep 17 00:00:00 2001
From: Sebastian Hengst 
Date: Mon, 27 Nov 2017 17:27:27 +0200
Subject: [PATCH 64/77] Backed out 3 changesets (bug 1419226) for frequently
 for frequently timing out in Web reftests in webvtt, e.g.
 enable_controls_reposition.html. r=backout

Backed out changeset 5a2460c34657 (bug 1419226)
Backed out changeset 8cda3fb3ce1a (bug 1419226)
Backed out changeset 21d9bedcf411 (bug 1419226)
---
 .../test/mozilla/file_deferred_start.html     | 55 ++++++++-----
 layout/base/nsPresContext.cpp                 | 79 ++++++++++++++++++-
 layout/base/nsPresContext.h                   | 18 +++++
 toolkit/content/browser-content.js            | 14 +---
 4 files changed, 133 insertions(+), 33 deletions(-)

diff --git a/dom/animation/test/mozilla/file_deferred_start.html b/dom/animation/test/mozilla/file_deferred_start.html
index 922fbf5d6051..6af6455826a7 100644
--- a/dom/animation/test/mozilla/file_deferred_start.html
+++ b/dom/animation/test/mozilla/file_deferred_start.html
@@ -32,6 +32,9 @@ function waitForPaints() {
 }
 
 promise_test(function(t) {
+  var div = addDiv(t);
+  var cs = getComputedStyle(div);
+
   // Test that empty animations actually start.
   //
   // Normally we tie the start of animations to when their first frame of
@@ -40,30 +43,24 @@ promise_test(function(t) {
   // that doesn't render or is offscreen) we want to make sure they still
   // start.
   //
-  // Before we start, wait for the document to finish loading, then create
-  // div element, and wait for painting. This is because during loading we will
-  // have other paint events taking place which might, by luck, happen to
-  // trigger animations that otherwise would not have been triggered, leading to
-  // false positives.
+  // Before we start, wait for the document to finish loading. This is because
+  // during loading we will have other paint events taking place which might,
+  // by luck, happen to trigger animations that otherwise would not have been
+  // triggered, leading to false positives.
   //
   // As a result, it's better to wait until we have a more stable state before
   // continuing.
-  var div;
   var promiseCallbackDone = false;
   return waitForDocLoad().then(function() {
-    div = addDiv(t);
-
-    return waitForPaints();
-  }).then(function() {
     div.style.animation = 'empty 1000s';
     var animation = div.getAnimations()[0];
 
-    animation.ready.then(function() {
+    return animation.ready.then(function() {
       promiseCallbackDone = true;
     }).catch(function() {
       assert_unreached('ready promise was rejected');
     });
-
+  }).then(function() {
     // We need to wait for up to three frames. This is because in some
     // cases it can take up to two frames for the initial layout
     // to take place. Even after that happens we don't actually resolve the
@@ -95,14 +92,27 @@ promise_test(function(t) {
 
   // As with the above test, any stray paints can cause this test to produce
   // a false negative (that is, pass when it should fail). To avoid this we
-  // wait for paints and only then do we commence the test.
-  return waitForPaints().then(() => {
+  // first wait for the document to load, then wait until it is idle, then wait
+  // for paints and only then do we commence the test. Even doing that, this
+  // test can sometimes pass when it should not due to a stray paint. Most of
+  // the time, however, it will correctly fail so hopefully even if we do
+  // occasionally produce a false negative on one platform, another platform
+  // will fail as expected.
+  return waitForDocLoad().then(() => waitForIdle())
+  .then(() => waitForPaints())
+  .then(() => {
     div.animate({ transform: [ 'translate(0px)', 'translate(100px)' ] },
                 { duration: 400 * MS_PER_SEC,
                   delay: -200 * MS_PER_SEC });
 
-      return waitForPaints();
-  }).then(() => {
+    // TODO: Current waitForPaint() will not wait for MozAfterPaint in this
+    // case(Bug 1341294), so this waiting code is workaround for it.
+    // This waitForFrame() uses Promise, but bug 1193394 will be using same
+    // handling of  microtask, so if landed bug 1193394 this test might be
+    // failure since this promise will resolve in same tick of Element.animate.
+    return waitForFrame();
+  }).then(() => waitForPaints())
+  .then(() => {
     const transformStr =
       SpecialPowers.DOMWindowUtils.getOMTAStyle(div, 'transform');
     const translateX = getTranslateXFromTransform(transformStr);
@@ -134,16 +144,21 @@ promise_test(function(t) {
 
   const div = addDiv(t, { class: 'target' });
 
-  // Wait for the document to load and painting (see notes in previous test).
-  return waitForPaints().then(() => {
+  // Wait for idle state (see notes in previous test).
+  return waitForDocLoad().then(() => waitForIdle())
+  .then(() => waitForPaints())
+  .then(() => {
     const animation =
       div.animate({ transform: [ 'translate(0px)', 'translate(100px)' ] },
                   200 * MS_PER_SEC);
     animation.currentTime = 100 * MS_PER_SEC;
     animation.playbackRate = 0.1;
 
-    return waitForPaints();
-  }).then(() => {
+    // As the above test case, we should fix bug 1341294 before bug 1193394
+    // lands.
+    return waitForFrame();
+  }).then(() => waitForPaints())
+  .then(() => {
     const transformStr =
       SpecialPowers.DOMWindowUtils.getOMTAStyle(div, 'transform');
     const translateX = getTranslateXFromTransform(transformStr);
diff --git a/layout/base/nsPresContext.cpp b/layout/base/nsPresContext.cpp
index e4d1f274054c..d864e26a936a 100644
--- a/layout/base/nsPresContext.cpp
+++ b/layout/base/nsPresContext.cpp
@@ -187,7 +187,6 @@ nsPresContext::IsDOMPaintEventPending()
     // fired, we record an empty invalidation in case display list
     // invalidation doesn't invalidate anything further.
     NotifyInvalidation(drpc->mRefreshDriver->LastTransactionId() + 1, nsRect(0, 0, 0, 0));
-
     NS_ASSERTION(mFireAfterPaintEvents, "Why aren't we planning to fire the event?");
     return true;
   }
@@ -432,6 +431,9 @@ NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_LAST_RELEASE(nsPresContext, LastRelease())
 void
 nsPresContext::LastRelease()
 {
+  if (IsRoot()) {
+    static_cast(this)->CancelAllDidPaintTimers();
+  }
   if (mMissingFonts) {
     mMissingFonts->Clear();
   }
@@ -1089,6 +1091,9 @@ nsPresContext::DetachShell()
     // Have to cancel our plugin geometry timer, because the
     // callback for that depends on a non-null presshell.
     thisRoot->CancelApplyPluginGeometryTimer();
+
+    // The did-paint timer also depends on a non-null pres shell.
+    thisRoot->CancelAllDidPaintTimers();
   }
 }
 
@@ -2599,12 +2604,24 @@ nsPresContext::NotifyInvalidation(uint64_t aTransactionId, const nsRect& aRect)
 {
   MOZ_ASSERT(GetContainerWeak(), "Invalidation in detached pres context");
 
+  // If there is no paint event listener, then we don't need to fire
+  // the asynchronous event. We don't even need to record invalidation.
+  // MayHavePaintEventListener is pretty cheap and we could make it
+  // even cheaper by providing a more efficient
+  // nsPIDOMWindow::GetListenerManager.
+
   nsPresContext* pc;
   for (pc = this; pc; pc = pc->GetParentPresContext()) {
     if (pc->mFireAfterPaintEvents)
       break;
     pc->mFireAfterPaintEvents = true;
   }
+  if (!pc) {
+    nsRootPresContext* rpc = GetRootPresContext();
+    if (rpc) {
+      rpc->EnsureEventualDidPaintEvent(aTransactionId);
+    }
+  }
 
   TransactionInvalidations* transaction = nullptr;
   for (TransactionInvalidations& t : mTransactions) {
@@ -2726,8 +2743,12 @@ void
 nsPresContext::NotifyDidPaintForSubtree(uint64_t aTransactionId,
                                         const mozilla::TimeStamp& aTimeStamp)
 {
-  if (IsRoot() && !mFireAfterPaintEvents) {
-    return;
+  if (IsRoot()) {
+    static_cast(this)->CancelDidPaintTimers(aTransactionId);
+
+    if (!mFireAfterPaintEvents) {
+      return;
+    }
   }
 
   if (!PresShell()->IsVisible() && !mFireAfterPaintEvents) {
@@ -3176,12 +3197,14 @@ nsRootPresContext::~nsRootPresContext()
 {
   NS_ASSERTION(mRegisteredPlugins.Count() == 0,
                "All plugins should have been unregistered");
+  CancelAllDidPaintTimers();
   CancelApplyPluginGeometryTimer();
 }
 
 /* virtual */ void
 nsRootPresContext::Detach()
 {
+  CancelAllDidPaintTimers();
   // XXXmats maybe also CancelApplyPluginGeometryTimer(); ?
   nsPresContext::Detach();
 }
@@ -3436,6 +3459,55 @@ nsRootPresContext::CollectPluginGeometryUpdates(LayerManager* aLayerManager)
 #endif  // #ifndef XP_MACOSX
 }
 
+void
+nsRootPresContext::EnsureEventualDidPaintEvent(uint64_t aTransactionId)
+{
+  for (NotifyDidPaintTimer& t : mNotifyDidPaintTimers) {
+    if (t.mTransactionId == aTransactionId) {
+      return;
+    }
+  }
+
+  nsCOMPtr timer;
+  RefPtr self = this;
+  nsresult rv = NS_NewTimerWithCallback(
+    getter_AddRefs(timer),
+    NewNamedTimerCallback([self, aTransactionId](){
+      nsAutoScriptBlocker blockScripts;
+      self->NotifyDidPaintForSubtree(aTransactionId);
+     }, "NotifyDidPaintForSubtree"), 100, nsITimer::TYPE_ONE_SHOT,
+    Document()->EventTargetFor(TaskCategory::Other));
+
+  if (NS_SUCCEEDED(rv)) {
+    NotifyDidPaintTimer* t = mNotifyDidPaintTimers.AppendElement();
+    t->mTransactionId = aTransactionId;
+    t->mTimer = timer;
+  }
+}
+
+void
+nsRootPresContext::CancelDidPaintTimers(uint64_t aTransactionId)
+{
+  uint32_t i = 0;
+  while (i < mNotifyDidPaintTimers.Length()) {
+    if (mNotifyDidPaintTimers[i].mTransactionId <= aTransactionId) {
+      mNotifyDidPaintTimers[i].mTimer->Cancel();
+      mNotifyDidPaintTimers.RemoveElementAt(i);
+    } else {
+      i++;
+    }
+  }
+}
+
+void
+nsRootPresContext::CancelAllDidPaintTimers()
+{
+  for (uint32_t i = 0; i < mNotifyDidPaintTimers.Length(); i++) {
+    mNotifyDidPaintTimers[i].mTimer->Cancel();
+  }
+  mNotifyDidPaintTimers.Clear();
+}
+
 void
 nsRootPresContext::AddWillPaintObserver(nsIRunnable* aRunnable)
 {
@@ -3468,6 +3540,7 @@ nsRootPresContext::SizeOfExcludingThis(MallocSizeOf aMallocSizeOf) const
 
   // Measurement of the following members may be added later if DMD finds it is
   // worthwhile:
+  // - mNotifyDidPaintTimer
   // - mRegisteredPlugins
   // - mWillPaintObservers
   // - mWillPaintFallbackEvent
diff --git a/layout/base/nsPresContext.h b/layout/base/nsPresContext.h
index ad93d8133dfb..d2b57cbe58dc 100644
--- a/layout/base/nsPresContext.h
+++ b/layout/base/nsPresContext.h
@@ -1545,6 +1545,23 @@ public:
   virtual ~nsRootPresContext();
   virtual void Detach() override;
 
+  /**
+   * Ensure that NotifyDidPaintForSubtree is eventually called on this
+   * object after a timeout.
+   */
+  void EnsureEventualDidPaintEvent(uint64_t aTransactionId);
+
+  /**
+   * Cancels any pending eventual did paint timer for transaction
+   * ids up to and including aTransactionId.
+   */
+  void CancelDidPaintTimers(uint64_t aTransactionId);
+
+  /**
+   * Cancel all pending eventual did paint timers.
+   */
+  void CancelAllDidPaintTimers();
+
   /**
    * Registers a plugin to receive geometry updates (position and clip
    * region) so it can update its widget.
@@ -1652,6 +1669,7 @@ protected:
     uint64_t mTransactionId;
     nsCOMPtr mTimer;
   };
+  AutoTArray mNotifyDidPaintTimers;
 
   nsCOMPtr mApplyPluginGeometryTimer;
   nsTHashtable > mRegisteredPlugins;
diff --git a/toolkit/content/browser-content.js b/toolkit/content/browser-content.js
index 074185a0e7f8..c686f86476a5 100644
--- a/toolkit/content/browser-content.js
+++ b/toolkit/content/browser-content.js
@@ -591,21 +591,15 @@ var Printing = {
         onStateChange(webProgress, req, flags, status) {
           if (flags & Ci.nsIWebProgressListener.STATE_STOP) {
             webProgress.removeProgressListener(webProgressListener);
-            let domUtils = contentWindow.QueryInterface(Ci.nsIInterfaceRequestor)
-                                        .getInterface(Ci.nsIDOMWindowUtils);
+            let domUtils = content.QueryInterface(Ci.nsIInterfaceRequestor)
+                                  .getInterface(Ci.nsIDOMWindowUtils);
             // Here we tell the parent that we have parsed the document successfully
             // using ReaderMode primitives and we are able to enter on preview mode.
             if (domUtils.isMozAfterPaintPending) {
-              let onPaint = function() {
+              addEventListener("MozAfterPaint", function onPaint() {
                 removeEventListener("MozAfterPaint", onPaint);
                 sendAsyncMessage("Printing:Preview:ReaderModeReady");
-              };
-              contentWindow.addEventListener("MozAfterPaint", onPaint);
-              // This timer need when display list invalidation doesn't invalidate.
-              setTimeout(() => {
-                removeEventListener("MozAfterPaint", onPaint);
-                sendAsyncMessage("Printing:Preview:ReaderModeReady");
-              }, 100);
+              });
             } else {
               sendAsyncMessage("Printing:Preview:ReaderModeReady");
             }

From 0095a12f6f09d5b8daae106e4f665dc97d9f5f88 Mon Sep 17 00:00:00 2001
From: Edouard Oger 
Date: Thu, 23 Nov 2017 15:22:29 -0500
Subject: [PATCH 65/77] Bug 1420266 - Regenerate constants.js exports in
 modules.json. r=tcsc

MozReview-Commit-ID: BvBZLLOk6oZ

--HG--
extra : rebase_source : 0c4dba8e8c9e95a071250a49c8a43cdc5da6fd96
---
 tools/lint/eslint/modules.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lint/eslint/modules.json b/tools/lint/eslint/modules.json
index b1cc8584c139..17e42d7b300a 100644
--- a/tools/lint/eslint/modules.json
+++ b/tools/lint/eslint/modules.json
@@ -29,7 +29,7 @@
   "collection_repair.js": ["getRepairRequestor", "getAllRepairRequestors", "CollectionRepairRequestor", "getRepairResponder", "CollectionRepairResponder"],
   "collection_validator.js": ["CollectionValidator", "CollectionProblemData"],
   "Console.jsm": ["console", "ConsoleAPI"],
-  "constants.js": ["WEAVE_VERSION", "SYNC_API_VERSION", "USER_API_VERSION", "MISC_API_VERSION", "STORAGE_VERSION", "PREFS_BRANCH", "PWDMGR_HOST", "PWDMGR_PASSWORD_REALM", "PWDMGR_PASSPHRASE_REALM", "PWDMGR_KEYBUNDLE_REALM", "DEFAULT_KEYBUNDLE_NAME", "HMAC_INPUT", "SYNC_KEY_ENCODED_LENGTH", "SYNC_KEY_DECODED_LENGTH", "SYNC_KEY_HYPHENATED_LENGTH", "NO_SYNC_NODE_INTERVAL", "MAX_ERROR_COUNT_BEFORE_BACKOFF", "MAX_IGNORE_ERROR_COUNT", "MINIMUM_BACKOFF_INTERVAL", "MAXIMUM_BACKOFF_INTERVAL", "HMAC_EVENT_INTERVAL", "MASTER_PASSWORD_LOCKED_RETRY_INTERVAL", "DEFAULT_BLOCK_PERIOD", "DEFAULT_GUID_FETCH_BATCH_SIZE", "DEFAULT_MOBILE_GUID_FETCH_BATCH_SIZE", "DEFAULT_STORE_BATCH_SIZE", "HISTORY_STORE_BATCH_SIZE", "FORMS_STORE_BATCH_SIZE", "PASSWORDS_STORE_BATCH_SIZE", "ADDONS_STORE_BATCH_SIZE", "APPS_STORE_BATCH_SIZE", "DEFAULT_DOWNLOAD_BATCH_SIZE", "DEFAULT_MAX_RECORD_PAYLOAD_BYTES", "SINGLE_USER_THRESHOLD", "MULTI_DEVICE_THRESHOLD", "SCORE_INCREMENT_SMALL", "SCORE_INCREMENT_MEDIUM", "SCORE_INCREMENT_XLARGE", "SCORE_UPDATE_DELAY", "IDLE_OBSERVER_BACK_DELAY", "URI_LENGTH_MAX", "MAX_HISTORY_UPLOAD", "MAX_HISTORY_DOWNLOAD", "STATUS_OK", "SYNC_FAILED", "LOGIN_FAILED", "SYNC_FAILED_PARTIAL", "CLIENT_NOT_CONFIGURED", "STATUS_DISABLED", "MASTER_PASSWORD_LOCKED", "LOGIN_SUCCEEDED", "SYNC_SUCCEEDED", "ENGINE_SUCCEEDED", "LOGIN_FAILED_NO_USERNAME", "LOGIN_FAILED_NO_PASSWORD", "LOGIN_FAILED_NO_PASSPHRASE", "LOGIN_FAILED_NETWORK_ERROR", "LOGIN_FAILED_SERVER_ERROR", "LOGIN_FAILED_INVALID_PASSPHRASE", "LOGIN_FAILED_LOGIN_REJECTED", "METARECORD_DOWNLOAD_FAIL", "VERSION_OUT_OF_DATE", "DESKTOP_VERSION_OUT_OF_DATE", "SETUP_FAILED_NO_PASSPHRASE", "CREDENTIALS_CHANGED", "ABORT_SYNC_COMMAND", "NO_SYNC_NODE_FOUND", "OVER_QUOTA", "PROLONGED_SYNC_FAILURE", "SERVER_MAINTENANCE", "RESPONSE_OVER_QUOTA", "ENGINE_UPLOAD_FAIL", "ENGINE_DOWNLOAD_FAIL", "ENGINE_UNKNOWN_FAIL", "ENGINE_APPLY_FAIL", "ENGINE_METARECORD_DOWNLOAD_FAIL", "ENGINE_METARECORD_UPLOAD_FAIL", "ENGINE_BATCH_INTERRUPTED", "JPAKE_ERROR_CHANNEL", "JPAKE_ERROR_NETWORK", "JPAKE_ERROR_SERVER", "JPAKE_ERROR_TIMEOUT", "JPAKE_ERROR_INTERNAL", "JPAKE_ERROR_INVALID", "JPAKE_ERROR_NODATA", "JPAKE_ERROR_KEYMISMATCH", "JPAKE_ERROR_WRONGMESSAGE", "JPAKE_ERROR_USERABORT", "JPAKE_ERROR_DELAYUNSUPPORTED", "kSyncNotConfigured", "kSyncMasterPasswordLocked", "kSyncWeaveDisabled", "kSyncNetworkOffline", "kSyncBackoffNotMet", "kFirstSyncChoiceNotMade", "kFirefoxShuttingDown", "FIREFOX_ID", "FENNEC_ID", "SEAMONKEY_ID", "TEST_HARNESS_ID", "MIN_PP_LENGTH", "MIN_PASS_LENGTH", "DEVICE_TYPE_DESKTOP", "DEVICE_TYPE_MOBILE", "SQLITE_MAX_VARIABLE_NUMBER"],
+  "constants.js": ["WEAVE_VERSION", "SYNC_API_VERSION", "STORAGE_VERSION", "PREFS_BRANCH", "PWDMGR_HOST", "PWDMGR_PASSWORD_REALM", "PWDMGR_PASSPHRASE_REALM", "PWDMGR_KEYBUNDLE_REALM", "DEFAULT_KEYBUNDLE_NAME", "SYNC_KEY_ENCODED_LENGTH", "SYNC_KEY_DECODED_LENGTH", "NO_SYNC_NODE_INTERVAL", "MAX_ERROR_COUNT_BEFORE_BACKOFF", "MINIMUM_BACKOFF_INTERVAL", "MAXIMUM_BACKOFF_INTERVAL", "HMAC_EVENT_INTERVAL", "MASTER_PASSWORD_LOCKED_RETRY_INTERVAL", "DEFAULT_GUID_FETCH_BATCH_SIZE", "DEFAULT_DOWNLOAD_BATCH_SIZE", "SINGLE_USER_THRESHOLD", "MULTI_DEVICE_THRESHOLD", "SCORE_INCREMENT_SMALL", "SCORE_INCREMENT_MEDIUM", "SCORE_INCREMENT_XLARGE", "SCORE_UPDATE_DELAY", "IDLE_OBSERVER_BACK_DELAY", "URI_LENGTH_MAX", "MAX_HISTORY_UPLOAD", "MAX_HISTORY_DOWNLOAD", "STATUS_OK", "SYNC_FAILED", "LOGIN_FAILED", "SYNC_FAILED_PARTIAL", "CLIENT_NOT_CONFIGURED", "STATUS_DISABLED", "MASTER_PASSWORD_LOCKED", "LOGIN_SUCCEEDED", "SYNC_SUCCEEDED", "ENGINE_SUCCEEDED", "LOGIN_FAILED_NO_USERNAME", "LOGIN_FAILED_NO_PASSPHRASE", "LOGIN_FAILED_NETWORK_ERROR", "LOGIN_FAILED_SERVER_ERROR", "LOGIN_FAILED_INVALID_PASSPHRASE", "LOGIN_FAILED_LOGIN_REJECTED", "METARECORD_DOWNLOAD_FAIL", "VERSION_OUT_OF_DATE", "CREDENTIALS_CHANGED", "ABORT_SYNC_COMMAND", "NO_SYNC_NODE_FOUND", "OVER_QUOTA", "PROLONGED_SYNC_FAILURE", "SERVER_MAINTENANCE", "RESPONSE_OVER_QUOTA", "ENGINE_UPLOAD_FAIL", "ENGINE_DOWNLOAD_FAIL", "ENGINE_UNKNOWN_FAIL", "ENGINE_APPLY_FAIL", "ENGINE_BATCH_INTERRUPTED", "kSyncMasterPasswordLocked", "kSyncWeaveDisabled", "kSyncNetworkOffline", "kSyncBackoffNotMet", "kFirstSyncChoiceNotMade", "kSyncNotConfigured", "kFirefoxShuttingDown", "DEVICE_TYPE_DESKTOP", "DEVICE_TYPE_MOBILE", "SQLITE_MAX_VARIABLE_NUMBER"],
   "Constants.jsm": ["Roles", "Events", "Relations", "Filters", "States", "Prefilters"],
   "ContactDB.jsm": ["ContactDB", "DB_NAME", "STORE_NAME", "SAVED_GETALL_STORE_NAME", "REVISION_STORE", "DB_VERSION"],
   "content-server.jsm": ["init"],

From b306e962eac755d622f93da071e0625d90bbe15e Mon Sep 17 00:00:00 2001
From: Luke Crouch 
Date: Fri, 17 Nov 2017 11:43:52 -0600
Subject: [PATCH 66/77] Bug 1412789 - fix tracking protection slider position
 in rtl r=johannh

Use logical properties for offset and float to avoid rtl-specific rules.

Note: background-position and transition property don't support logical
properties, so those rtl-specific rules must be kept for now.

MozReview-Commit-ID: BEiAcufOYAX

--HG--
extra : rebase_source : 0e2d3d83f9be09f2a62cb62e217cb4a0a64eae59
---
 .../shared/privatebrowsing/aboutPrivateBrowsing.css | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/browser/themes/shared/privatebrowsing/aboutPrivateBrowsing.css b/browser/themes/shared/privatebrowsing/aboutPrivateBrowsing.css
index 883882bbe704..940355ae9c81 100644
--- a/browser/themes/shared/privatebrowsing/aboutPrivateBrowsing.css
+++ b/browser/themes/shared/privatebrowsing/aboutPrivateBrowsing.css
@@ -40,17 +40,13 @@ p {
 }
 
 .list-row > ul > li {
-  float: left;
+  float: inline-start;
   width: 16em;
   line-height: 2em;
   margin-inline-start: 1em;
   margin-bottom: 0;
 }
 
-.list-row > ul > li:dir(rtl) {
-  float: right;
-}
-
 .title {
   background-image: url("chrome://browser/skin/privatebrowsing/private-browsing.svg");
   background-position: left center;
@@ -153,12 +149,7 @@ a.button {
 }
 
 .toggle:checked + .toggle-btn::after {
-  left: 21px;
-}
-
-.toggle:checked + .toggle-btn:dir(rtl)::after {
-  left: auto;
-  right: 16px;
+  offset-inline-start: 21px;
 }
 
 .toggle:-moz-focusring + .toggle-btn {

From be5209e3f21481843a85ceb95b82770389bcfee7 Mon Sep 17 00:00:00 2001
From: Alex Chronopoulos 
Date: Mon, 27 Nov 2017 18:16:16 +0200
Subject: [PATCH 67/77] Bug 1420930 - Update cubeb from upstream to 8a0a300.
 r=padenot

MozReview-Commit-ID: 7JriSdO8TTf

--HG--
extra : rebase_source : 37732a6d51ac9bc9cafdbe7d886d7c2e05d88c5f
---
 media/libcubeb/README_MOZILLA          |  2 +-
 media/libcubeb/src/cubeb_audiounit.cpp | 70 +++++++++++++++++++-------
 2 files changed, 54 insertions(+), 18 deletions(-)

diff --git a/media/libcubeb/README_MOZILLA b/media/libcubeb/README_MOZILLA
index 506d2dc5434b..51370c457a76 100644
--- a/media/libcubeb/README_MOZILLA
+++ b/media/libcubeb/README_MOZILLA
@@ -5,4 +5,4 @@ Makefile.in build files for the Mozilla build system.
 
 The cubeb git repository is: git://github.com/kinetiknz/cubeb.git
 
-The git commit ID used was cf5ddc5316dd1ab3ee7f54b2dcbcc9980e556d13 (2017-10-26 09:48:04 +1300)
+The git commit ID used was 8a0a30091cd7a7c71042f9dd25ba851ac3964466 (2017-11-15 14:03:13 +1300)
diff --git a/media/libcubeb/src/cubeb_audiounit.cpp b/media/libcubeb/src/cubeb_audiounit.cpp
index 348528489a8e..3d53c73a66ab 100644
--- a/media/libcubeb/src/cubeb_audiounit.cpp
+++ b/media/libcubeb/src/cubeb_audiounit.cpp
@@ -112,7 +112,7 @@ to_string(io_side side)
 typedef uint32_t device_flags_value;
 
 enum device_flags {
-  DEV_UKNOWN            = 0x00, /* Unkown */
+  DEV_UNKNOWN           = 0x00, /* Unknown */
   DEV_INPUT             = 0x01, /* Record device like mic */
   DEV_OUTPUT            = 0x02, /* Playback device like speakers */
   DEV_SYSTEM_DEFAULT    = 0x04, /* System default device */
@@ -121,7 +121,7 @@ enum device_flags {
 
 struct device_info {
   AudioDeviceID id = kAudioObjectUnknown;
-  device_flags_value flags = DEV_UKNOWN;
+  device_flags_value flags = DEV_UNKNOWN;
 };
 
 struct cubeb_stream {
@@ -716,21 +716,16 @@ audiounit_property_listener_callback(AudioObjectID id, UInt32 address_count,
     return noErr;
   }
   stm->switching_device = true;
-  device_flags_value switch_side = DEV_UKNOWN;
 
   LOG("(%p) Audio device changed, %u events.", stm, (unsigned int) address_count);
   for (UInt32 i = 0; i < address_count; i++) {
     switch(addresses[i].mSelector) {
       case kAudioHardwarePropertyDefaultOutputDevice: {
           LOG("Event[%u] - mSelector == kAudioHardwarePropertyDefaultOutputDevice for id=%d", (unsigned int) i, id);
-          // Allow restart to choose the new default
-          switch_side |= DEV_OUTPUT;
         }
         break;
       case kAudioHardwarePropertyDefaultInputDevice: {
           LOG("Event[%u] - mSelector == kAudioHardwarePropertyDefaultInputDevice for id=%d", (unsigned int) i, id);
-          // Allow restart to choose the new default
-          switch_side |= DEV_INPUT;
         }
       break;
       case kAudioDevicePropertyDeviceIsAlive: {
@@ -742,18 +737,10 @@ audiounit_property_listener_callback(AudioObjectID id, UInt32 address_count,
             stm->switching_device = false;
             return noErr;
           }
-          // Allow restart to choose the new default. Event register only for input.
-          switch_side |= DEV_INPUT;
         }
         break;
       case kAudioDevicePropertyDataSource: {
           LOG("Event[%u] - mSelector == kAudioHardwarePropertyDataSource for id=%d", (unsigned int) i, id);
-          if (stm->input_unit) {
-            switch_side |= DEV_INPUT;
-          }
-          if (stm->output_unit) {
-            switch_side |= DEV_OUTPUT;
-          }
         }
         break;
       default:
@@ -763,6 +750,15 @@ audiounit_property_listener_callback(AudioObjectID id, UInt32 address_count,
     }
   }
 
+  // Allow restart to choose the new default
+  device_flags_value switch_side = DEV_UNKNOWN;
+  if (has_input(stm)) {
+    switch_side |= DEV_INPUT;
+  }
+  if (has_input(stm)) {
+    switch_side |= DEV_OUTPUT;
+  }
+
   for (UInt32 i = 0; i < address_count; i++) {
     switch(addresses[i].mSelector) {
     case kAudioHardwarePropertyDefaultOutputDevice:
@@ -784,9 +780,9 @@ audiounit_property_listener_callback(AudioObjectID id, UInt32 address_count,
   dispatch_async(stm->context->serial_queue, ^() {
     if (audiounit_reinit_stream(stm, switch_side) != CUBEB_OK) {
       if (audiounit_uninstall_system_changed_callback(stm) != CUBEB_OK) {
-        LOG("(%p) Could not uninstall the device changed callback", stm);
+        LOG("(%p) Could not uninstall system changed callback", stm);
       }
-      stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_STOPPED);
+      stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
       LOG("(%p) Could not reopen the stream after switching.", stm);
     }
     stm->switching_device = false;
@@ -1683,6 +1679,8 @@ audiounit_activate_clock_drift_compensation(const AudioDeviceID aggregate_device
 }
 
 static int audiounit_destroy_aggregate_device(AudioObjectID plugin_id, AudioDeviceID * aggregate_device_id);
+static void audiounit_get_available_samplerate(AudioObjectID devid, AudioObjectPropertyScope scope,
+                                   uint32_t * min, uint32_t * max, uint32_t * def);
 
 /*
  * Aggregate Device is a virtual audio interface which utilizes inputs and outputs
@@ -1706,6 +1704,26 @@ static int audiounit_destroy_aggregate_device(AudioObjectID plugin_id, AudioDevi
 static int
 audiounit_create_aggregate_device(cubeb_stream * stm)
 {
+  uint32_t input_min_rate = 0;
+  uint32_t input_max_rate = 0;
+  uint32_t input_nominal_rate = 0;
+  audiounit_get_available_samplerate(stm->input_device.id, kAudioObjectPropertyScopeGlobal,
+                                     &input_min_rate, &input_max_rate, &input_nominal_rate);
+  LOG("(%p) Input device %u min: %u, max: %u, nominal: %u rate", stm, stm->input_device.id
+      , input_min_rate, input_max_rate, input_nominal_rate);
+  uint32_t output_min_rate = 0;
+  uint32_t output_max_rate = 0;
+  uint32_t output_nominal_rate = 0;
+  audiounit_get_available_samplerate(stm->output_device.id, kAudioObjectPropertyScopeGlobal,
+                                     &output_min_rate, &output_max_rate, &output_nominal_rate);
+  LOG("(%p) Output device %u min: %u, max: %u, nominal: %u rate", stm, stm->output_device.id
+      , output_min_rate, output_max_rate, output_nominal_rate);
+
+  if ((output_nominal_rate < input_min_rate || output_nominal_rate > output_max_rate)
+      || (input_nominal_rate < output_min_rate || input_nominal_rate > output_max_rate)){
+    return CUBEB_ERROR;
+  }
+
   int r = audiounit_create_blank_aggregate_device(&stm->plugin_id, &stm->aggregate_device_id);
   if (r != CUBEB_OK) {
     LOG("(%p) Failed to create blank aggregate device", stm);
@@ -1734,6 +1752,24 @@ audiounit_create_aggregate_device(cubeb_stream * stm)
     return  CUBEB_ERROR;
   }
 
+  if (input_nominal_rate != output_nominal_rate) {
+    Float64 rate = std::min(input_nominal_rate, output_nominal_rate);
+    AudioObjectPropertyAddress addr = {kAudioDevicePropertyNominalSampleRate,
+                                       kAudioObjectPropertyScopeGlobal,
+                                       kAudioObjectPropertyElementMaster};
+
+    OSStatus rv = AudioObjectSetPropertyData(stm->aggregate_device_id,
+                                             &addr,
+                                             0,
+                                             nullptr,
+                                             sizeof(Float64),
+                                             &rate);
+    if (rv != noErr) {
+      LOG("AudioObjectSetPropertyData/kAudioDevicePropertyNominalSampleRate, rv=%d", rv);
+      return CUBEB_ERROR;
+    }
+  }
+
   return CUBEB_OK;
 }
 

From a33fa6a1f204927a773df664b25277a692b01596 Mon Sep 17 00:00:00 2001
From: Tawny Hoover 
Date: Fri, 24 Nov 2017 21:54:54 -0500
Subject: [PATCH 68/77] Bug 1398992 = Make 'Recently Bookmarked' in Photon
 panels support browser.bookmarks.openInTabClosesMenu pref. r=jaws

MozReview-Commit-ID: 3Rio9EjwilT

--HG--
extra : rebase_source : dde522b0eb65b22ee74d8dfb6d5f1d1a5489237f
---
 .../test/browser_947914_button_history.js     |  2 +-
 .../places/content/browserPlacesViews.js      | 20 ++++++-
 .../tests/browser/browser_stayopenmenu.js     | 59 ++++++++++++++-----
 3 files changed, 63 insertions(+), 18 deletions(-)

diff --git a/browser/components/customizableui/test/browser_947914_button_history.js b/browser/components/customizableui/test/browser_947914_button_history.js
index ebfa3dee2283..3ed2e3939678 100644
--- a/browser/components/customizableui/test/browser_947914_button_history.js
+++ b/browser/components/customizableui/test/browser_947914_button_history.js
@@ -36,7 +36,7 @@ add_task(async function() {
   let historyItems = document.getElementById("appMenu_historyMenu");
   let historyItemForURL = historyItems.querySelector("toolbarbutton.bookmark-item[label='Happy History Hero']");
   ok(historyItemForURL, "Should have a history item for the history we just made.");
-  historyItemForURL.click();
+  EventUtils.synthesizeMouseAtCenter(historyItemForURL, {});
   await browserLoaded;
   is(gBrowser.currentURI.spec, TEST_PATH + "dummy_history_item.html", "Should have expected page load");
 
diff --git a/browser/components/places/content/browserPlacesViews.js b/browser/components/places/content/browserPlacesViews.js
index 69306fd6b741..dde02f89abb6 100644
--- a/browser/components/places/content/browserPlacesViews.js
+++ b/browser/components/places/content/browserPlacesViews.js
@@ -2124,8 +2124,8 @@ this.PlacesPanelview = class extends PlacesViewBase {
   handleEvent(event) {
     switch (event.type) {
       case "click":
-        // For left and middle clicks, fall through to the command handler.
-        if (event.button >= 2) {
+        // For middle clicks, fall through to the command handler.
+        if (event.button != 1) {
           break;
         }
       case "command":
@@ -2154,8 +2154,22 @@ this.PlacesPanelview = class extends PlacesViewBase {
     if (!button._placesNode)
       return;
 
+    let modifKey = AppConstants.platform === "macosx" ? event.metaKey
+                                                      : event.ctrlKey;
+    if (!PlacesUIUtils.openInTabClosesMenu && modifKey) {
+      // If 'Recent Bookmarks' in Bookmarks Panel.
+      if (button.parentNode.id == "panelMenu_bookmarksMenu") {
+        button.setAttribute("closemenu", "none");
+      }
+    } else {
+      button.removeAttribute("closemenu");
+    }
     PlacesUIUtils.openNodeWithEvent(button._placesNode, event);
-    this.panelMultiView.closest("panel").hidePopup();
+    // Unlike left-click, middle-click requires manual menu closing.
+    if (button.parentNode.id != "panelMenu_bookmarksMenu" ||
+        (event.type == "click" && event.button == 1 && PlacesUIUtils.openInTabClosesMenu)) {
+      this.panelMultiView.closest("panel").hidePopup();
+    }
   }
 
   _onDragEnd() {
diff --git a/browser/components/places/tests/browser/browser_stayopenmenu.js b/browser/components/places/tests/browser/browser_stayopenmenu.js
index 95797f41f0ef..f88b934dae93 100644
--- a/browser/components/places/tests/browser/browser_stayopenmenu.js
+++ b/browser/components/places/tests/browser/browser_stayopenmenu.js
@@ -5,20 +5,14 @@
 // and contextmenu's "Open in a new tab" click.
 
 async function locateBookmarkAndTestCtrlClick(menupopup) {
-  let menuitem = null;
-  for (let node of menupopup.childNodes) {
-    if (node.label == "Test1") {
-      menuitem = node;
-      let promiseTabOpened = BrowserTestUtils.waitForNewTab(gBrowser, null);
-      EventUtils.synthesizeMouseAtCenter(menuitem,
-        AppConstants.platform === "macosx" ? {metaKey: true} : {ctrlKey: true});
-      let newTab = await promiseTabOpened;
-      ok(true, "Bookmark ctrl-click opened new tab.");
-      await BrowserTestUtils.removeTab(newTab);
-      break;
-    }
-  }
-  return menuitem;
+  let testMenuitem = [...menupopup.childNodes].find(node => node.label == "Test1");
+  ok(testMenuitem, "Found test bookmark.");
+  let promiseTabOpened = BrowserTestUtils.waitForNewTab(gBrowser, null);
+  EventUtils.synthesizeMouseAtCenter(testMenuitem, {accelKey: true});
+  let newTab = await promiseTabOpened;
+  ok(true, "Bookmark ctrl-click opened new tab.");
+  await BrowserTestUtils.removeTab(newTab);
+  return testMenuitem;
 }
 
 async function testContextmenu(menuitem) {
@@ -122,6 +116,43 @@ add_task(async function testStayopenBookmarksClicks() {
   info("Closing menu");
   await BrowserTestUtils.removeTab(newTab);
 
+  // Test App Menu's Bookmarks Library stayopen clicks.
+  let appMenu = document.getElementById("PanelUI-menu-button");
+  let appMenuPopup = document.getElementById("appMenu-popup");
+  let PopupShownPromise = BrowserTestUtils.waitForEvent(appMenuPopup, "popupshown");
+  appMenu.click();
+  await PopupShownPromise;
+  let libView = document.getElementById("appMenu-libraryView");
+  let libraryBtn = document.getElementById("appMenu-library-button");
+  let ViewShownPromise = BrowserTestUtils.waitForEvent(libView, "ViewShown");
+  libraryBtn.click();
+  await ViewShownPromise;
+  info("Library panel shown.");
+  let bookmarks = document.getElementById("appMenu-library-bookmarks-button");
+  let BMview = document.getElementById("PanelUI-bookmarks");
+  ViewShownPromise = BrowserTestUtils.waitForEvent(BMview, "ViewShown");
+  bookmarks.click();
+  await ViewShownPromise;
+  info("Library's bookmarks panel shown.");
+
+  // Test App Menu's Bookmarks Library stayopen clicks: Ctrl-click.
+  let menu = document.getElementById("panelMenu_bookmarksMenu");
+  var testMenuitem = await locateBookmarkAndTestCtrlClick(menu);
+  ok(appMenu.open, "Menu should remain open.");
+
+  // Test App Menu's Bookmarks Library stayopen clicks: middle-click.
+  promiseTabOpened = BrowserTestUtils.waitForNewTab(gBrowser, null);
+  EventUtils.synthesizeMouseAtCenter(testMenuitem, {button: 1});
+  newTab = await promiseTabOpened;
+  ok(true, "Bookmark middle-click opened new tab.");
+  await BrowserTestUtils.removeTab(newTab);
+  is(PanelUI.multiView.current.id, "PanelUI-bookmarks", "Should still show the bookmarks subview");
+  ok(appMenu.open, "Menu should remain open.");
+
+  // Close the App Menu
+  appMenuPopup.hidePopup();
+  ok(!appMenu.open, "The menu should now be closed.");
+
   // Disable the rest of the tests on Mac due to Mac's handling of menus being
   // slightly different to the other platforms.
   if (AppConstants.platform === "macosx") {

From 46b11670884bb6c435131a6b09ea3e50e7cf3a97 Mon Sep 17 00:00:00 2001
From: Gijs Kruitbosch 
Date: Mon, 27 Nov 2017 15:23:42 +0000
Subject: [PATCH 69/77] Bug 1420583 - fix new tab adjacency logic when using
 "restore defaults", r=jaws

When using "restore defaults", Customize mode unwraps all elements. The previous implementation
of _updateNewTabVisibility assumed that elements were wrapped in s when in
customize mode, but this isn't true during a reset. The new implementation just looks for the
s and their children as necessary.

MozReview-Commit-ID: FjNJ1n8foGi

--HG--
extra : rebase_source : c9de8a2a4d4dcf191281fead320acc2ddc1321d6
---
 browser/base/content/tabbrowser.xml           | 22 ++++++-------------
 .../browser_newtab_button_customizemode.js    | 19 ++++++++++++++++
 2 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/browser/base/content/tabbrowser.xml b/browser/base/content/tabbrowser.xml
index 3fc4a0c476c3..074e992aded0 100644
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -5863,22 +5863,14 @@
 
       
          n.parentNode.localName == "toolbarpaletteitem" ? n.parentNode : n;
+          let unwrap = n => n && n.localName == "toolbarpaletteitem" ? n.firstElementChild : n;
 
-          // Confusingly, the  are never wrapped in s in customize mode,
-          // but the other items will be.
-          let sib = this.tabContainer.nextElementSibling;
-          if (isCustomizing) {
-            sib = sib && sib.firstElementChild;
-          }
-          while (sib && sib.hidden) {
-            if (isCustomizing) {
-              sib = sib.parentNode.nextElementSibling;
-              sib = sib && sib.firstElementChild;
-            } else {
-              sib = sib.nextElementSibling;
-            }
-          }
+          let sib = this.tabContainer;
+          do {
+            sib = unwrap(wrap(sib).nextElementSibling);
+          } while (sib && sib.hidden);
 
           const kAttr = "hasadjacentnewtabbutton";
           if (sib && sib.id == "new-tab-button") {
diff --git a/browser/components/customizableui/test/browser_newtab_button_customizemode.js b/browser/components/customizableui/test/browser_newtab_button_customizemode.js
index da886fc47376..5b7459a3ae03 100644
--- a/browser/components/customizableui/test/browser_newtab_button_customizemode.js
+++ b/browser/components/customizableui/test/browser_newtab_button_customizemode.js
@@ -104,3 +104,22 @@ add_task(async function addremove_before_newtab_api() {
   CustomizableUI.reset();
   ok(CustomizableUI.inDefaultState, "Should be in default state");
 });
+
+/**
+  * Reset to defaults in customize mode to see if that doesn't break things.
+  */
+add_task(async function reset_before_newtab_customizemode() {
+  await startCustomizing();
+  simulateItemDrag(document.getElementById("home-button"), kGlobalNewTabButton);
+  ok(!gBrowser.tabContainer.hasAttribute("hasadjacentnewtabbutton"),
+    "tabs should no longer have the adjacent newtab attribute");
+  await endCustomizing();
+  assertNewTabButton("global");
+  await startCustomizing();
+  await gCustomizeMode.reset();
+  ok(gBrowser.tabContainer.hasAttribute("hasadjacentnewtabbutton"),
+    "tabs should have the adjacent newtab attribute again");
+  await endCustomizing();
+  assertNewTabButton("inner");
+  ok(CustomizableUI.inDefaultState, "Should be in default state");
+});

From 14aa323f6f0b8400b1957dcc1b81788a91867d1d Mon Sep 17 00:00:00 2001
From: Dan Minor 
Date: Fri, 24 Nov 2017 11:38:12 -0500
Subject: [PATCH 70/77] Bug 1406937 - Add unittests for the video-encode path
 through VideoConduit; r=pehrsons

MozReview-Commit-ID: 8pxdYORXmlP

--HG--
extra : rebase_source : d19427e587230acd5df751a23696255cc5d6b1bf
---
 .../gtest/videoconduit_unittests.cpp          | 175 +++++++++++++++++-
 1 file changed, 165 insertions(+), 10 deletions(-)

diff --git a/media/webrtc/signaling/gtest/videoconduit_unittests.cpp b/media/webrtc/signaling/gtest/videoconduit_unittests.cpp
index 95cc93e6ea34..8f46b620c8fc 100644
--- a/media/webrtc/signaling/gtest/videoconduit_unittests.cpp
+++ b/media/webrtc/signaling/gtest/videoconduit_unittests.cpp
@@ -14,6 +14,7 @@
 #include "WebrtcGmpVideoCodec.h"
 
 #include "webrtc/media/base/videoadapter.h"
+#include "webrtc/media/base/videosinkinterface.h"
 
 #include "MockCall.h"
 
@@ -35,7 +36,12 @@ public:
     mInWidth = in_width;
     mInHeight = in_height;
     mInTimestampNs = in_timestamp_ns;
-    return true;
+    return cricket::VideoAdapter::AdaptFrameResolution(in_width, in_height,
+                                                       in_timestamp_ns,
+                                                       cropped_width,
+                                                       cropped_height,
+                                                       out_width,
+                                                       out_height);
   }
 
   void OnResolutionRequest(rtc::Optional max_pixel_count,
@@ -43,11 +49,13 @@ public:
   {
     mMaxPixelCount = max_pixel_count.value_or(-1);
     mMaxPixelCountStepUp = max_pixel_count_step_up.value_or(-1);
+    cricket::VideoAdapter::OnResolutionRequest(max_pixel_count, max_pixel_count_step_up);
   }
 
   void OnScaleResolutionBy(rtc::Optional scale_resolution_by) override
   {
     mScaleResolutionBy = scale_resolution_by.value_or(-1.0);
+    cricket::VideoAdapter::OnScaleResolutionBy(scale_resolution_by);
   }
 
   int mInWidth;
@@ -58,6 +66,19 @@ public:
   int mScaleResolutionBy;
 };
 
+class MockVideoSink : public rtc::VideoSinkInterface
+{
+public:
+  ~MockVideoSink() override = default;
+
+  void OnFrame(const webrtc::VideoFrame& frame) override
+  {
+    mVideoFrame = frame;
+  }
+
+  webrtc::VideoFrame mVideoFrame;
+};
+
 class VideoConduitTest : public ::testing::Test {
 public:
 
@@ -76,7 +97,8 @@ public:
   ~VideoConduitTest() override = default;
 
   MediaConduitErrorCode SendVideoFrame(unsigned short width,
-                                       unsigned short height)
+                                       unsigned short height,
+                                       uint64_t capture_time_ms)
   {
     unsigned int yplane_length = width*height;
     unsigned int cbcrplane_length = (width*height + 1)/2;
@@ -85,7 +107,8 @@ public:
     memset(buffer, 0x10, yplane_length);
     memset(buffer + yplane_length, 0x80, cbcrplane_length);
     return mVideoConduit->SendVideoFrame(buffer, video_length, width, height,
-                                         VideoType::kVideoI420, 1);
+                                         VideoType::kVideoI420,
+                                         capture_time_ms);
   }
 
   MockCall* mCall;
@@ -421,7 +444,7 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodecMaxMbps)
   ec = mVideoConduit->ConfigureSendMediaCodec(&codecConfig);
   ASSERT_EQ(ec, kMediaConduitNoError);
   mVideoConduit->StartTransmitting();
-  SendVideoFrame(640, 480);
+  SendVideoFrame(640, 480, 1);
   std::vector videoStreams;
   videoStreams = mCall->mEncoderConfig.video_stream_factory->CreateEncoderStreams(640, 480, mCall->mEncoderConfig);
   ASSERT_EQ(videoStreams.size(), 1U);
@@ -434,7 +457,7 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodecMaxMbps)
   ec = mVideoConduit->ConfigureSendMediaCodec(&codecConfig2);
   ASSERT_EQ(ec, kMediaConduitNoError);
   mVideoConduit->StartTransmitting();
-  SendVideoFrame(640, 480);
+  SendVideoFrame(640, 480, 1);
   videoStreams = mCall->mEncoderConfig.video_stream_factory->CreateEncoderStreams(640, 480, mCall->mEncoderConfig);
   ASSERT_EQ(videoStreams.size(), 1U);
   ASSERT_EQ(videoStreams[0].max_framerate, 8);
@@ -460,7 +483,7 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodecDefaults)
   ASSERT_EQ(videoStreams[0].max_bitrate_bps, static_cast(WebrtcVideoConduit::kDefaultMaxBitrate_bps));
 
   // SelectBitrates not called until we send a frame
-  SendVideoFrame(1280, 720);
+  SendVideoFrame(1280, 720, 1);
   videoStreams = mCall->mEncoderConfig.video_stream_factory->CreateEncoderStreams(1280, 720, mCall->mEncoderConfig);
   ASSERT_EQ(videoStreams.size(), 1U);
   // These values come from a table and are determined by resolution
@@ -484,7 +507,7 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodecTias)
   ec = mVideoConduit->ConfigureSendMediaCodec(&codecConfigTias);
   ASSERT_EQ(ec, kMediaConduitNoError);
   mVideoConduit->StartTransmitting();
-  SendVideoFrame(1280, 720);
+  SendVideoFrame(1280, 720, 1);
   videoStreams = mCall->mEncoderConfig.video_stream_factory->CreateEncoderStreams(1280, 720, mCall->mEncoderConfig);
   ASSERT_EQ(videoStreams.size(), 1U);
   ASSERT_EQ(videoStreams[0].min_bitrate_bps, 600000);
@@ -499,7 +522,7 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodecTias)
   ec = mVideoConduit->ConfigureSendMediaCodec(&codecConfigTiasLow);
   ASSERT_EQ(ec, kMediaConduitNoError);
   mVideoConduit->StartTransmitting();
-  SendVideoFrame(1280, 720);
+  SendVideoFrame(1280, 720, 1);
   videoStreams = mCall->mEncoderConfig.video_stream_factory->CreateEncoderStreams(1280, 720, mCall->mEncoderConfig);
   ASSERT_EQ(videoStreams.size(), 1U);
   ASSERT_EQ(videoStreams[0].min_bitrate_bps, 30000);
@@ -521,7 +544,7 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodecMaxBr)
   ec = mVideoConduit->ConfigureSendMediaCodec(&codecConfig);
   ASSERT_EQ(ec, kMediaConduitNoError);
   mVideoConduit->StartTransmitting();
-  SendVideoFrame(1280, 720);
+  SendVideoFrame(1280, 720, 1);
   videoStreams = mCall->mEncoderConfig.video_stream_factory->CreateEncoderStreams(1280, 720, mCall->mEncoderConfig);
   ASSERT_EQ(videoStreams.size(), 1U);
   ASSERT_LE(videoStreams[0].min_bitrate_bps, 50000);
@@ -549,7 +572,7 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodecScaleResolutionBy)
   ASSERT_EQ(ec, kMediaConduitNoError);
   mVideoConduit->StartTransmitting();
   ASSERT_EQ(mAdapter->mScaleResolutionBy, 2);
-  SendVideoFrame(640, 360);
+  SendVideoFrame(640, 360, 1);
   videoStreams = mCall->mEncoderConfig.video_stream_factory->CreateEncoderStreams(640, 360, mCall->mEncoderConfig);
   ASSERT_EQ(videoStreams.size(), 2U);
   ASSERT_EQ(videoStreams[0].width, 320U);
@@ -714,4 +737,136 @@ TEST_F(VideoConduitTest, TestOnSinkWantsChanged)
   ASSERT_EQ(mAdapter->mMaxPixelCount, 64000);
 }
 
+TEST_F(VideoConduitTest, TestVideoEncode)
+{
+  MediaConduitErrorCode ec;
+  EncodingConstraints constraints;
+  VideoCodecConfig::SimulcastEncoding encoding;
+  std::vector videoStreams;
+
+  VideoCodecConfig codecConfig(120, "VP8", constraints);
+  codecConfig.mSimulcastEncodings.push_back(encoding);
+  ec = mVideoConduit->ConfigureSendMediaCodec(&codecConfig);
+  ASSERT_EQ(ec, kMediaConduitNoError);
+
+  UniquePtr sink(new MockVideoSink());
+  rtc::VideoSinkWants wants;
+  mVideoConduit->AddOrUpdateSink(sink.get(), wants);
+
+  mVideoConduit->StartTransmitting();
+  SendVideoFrame(1280, 720, 1);
+  ASSERT_EQ(sink->mVideoFrame.width(), 1280);
+  ASSERT_EQ(sink->mVideoFrame.height(), 720);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 1000U);
+
+  SendVideoFrame(640, 360, 2);
+  ASSERT_EQ(sink->mVideoFrame.width(), 640);
+  ASSERT_EQ(sink->mVideoFrame.height(), 360);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 2000U);
+
+  SendVideoFrame(1920, 1280, 3);
+  ASSERT_EQ(sink->mVideoFrame.width(), 1920);
+  ASSERT_EQ(sink->mVideoFrame.height(), 1280);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 3000U);
+
+  mVideoConduit->StopTransmitting();
+  mVideoConduit->RemoveSink(sink.get());
+}
+
+TEST_F(VideoConduitTest, TestVideoEncodeMaxFs)
+{
+  MediaConduitErrorCode ec;
+  EncodingConstraints constraints;
+  VideoCodecConfig::SimulcastEncoding encoding;
+  std::vector videoStreams;
+
+  VideoCodecConfig codecConfig(120, "VP8", constraints);
+  codecConfig.mEncodingConstraints.maxFs = 3600;
+  codecConfig.mSimulcastEncodings.push_back(encoding);
+  ec = mVideoConduit->ConfigureSendMediaCodec(&codecConfig);
+  ASSERT_EQ(ec, kMediaConduitNoError);
+
+  UniquePtr sink(new MockVideoSink());
+  rtc::VideoSinkWants wants;
+  mVideoConduit->AddOrUpdateSink(sink.get(), wants);
+
+  mVideoConduit->StartTransmitting();
+  SendVideoFrame(1280, 720, 1);
+  ASSERT_EQ(sink->mVideoFrame.width(), 1280);
+  ASSERT_EQ(sink->mVideoFrame.height(), 720);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 1000U);
+
+  SendVideoFrame(640, 360, 2);
+  ASSERT_EQ(sink->mVideoFrame.width(), 640);
+  ASSERT_EQ(sink->mVideoFrame.height(), 360);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 2000U);
+
+  SendVideoFrame(1920, 1280, 3);
+  ASSERT_EQ(sink->mVideoFrame.width(), 960);
+  ASSERT_EQ(sink->mVideoFrame.height(), 640);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 3000U);
+
+  // maxFs should not force pixel count above what a sink has requested.
+  // We set 3600 macroblocks (16x16 pixels), so we request 3500 here.
+  wants.max_pixel_count = rtc::Optional(3500*16*16);
+  mVideoConduit->AddOrUpdateSink(sink.get(), wants);
+
+  SendVideoFrame(1280, 720, 4);
+  ASSERT_EQ(sink->mVideoFrame.width(), 960);
+  ASSERT_EQ(sink->mVideoFrame.height(), 540);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 4000U);
+
+  SendVideoFrame(640, 360, 5);
+  ASSERT_EQ(sink->mVideoFrame.width(), 640);
+  ASSERT_EQ(sink->mVideoFrame.height(), 360);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 5000U);
+
+  SendVideoFrame(1920, 1280, 6);
+  ASSERT_EQ(sink->mVideoFrame.width(), 960);
+  ASSERT_EQ(sink->mVideoFrame.height(), 640);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 6000U);
+
+  mVideoConduit->StopTransmitting();
+  mVideoConduit->RemoveSink(sink.get());
+}
+
+// Disabled: See Bug 1420493
+TEST_F(VideoConduitTest, DISABLED_TestVideoEncodeMaxWidthAndHeight)
+{
+  MediaConduitErrorCode ec;
+  EncodingConstraints constraints;
+  VideoCodecConfig::SimulcastEncoding encoding;
+  std::vector videoStreams;
+
+  VideoCodecConfig codecConfig(120, "VP8", constraints);
+  codecConfig.mEncodingConstraints.maxWidth = 1280;
+  codecConfig.mEncodingConstraints.maxHeight = 720;
+  codecConfig.mSimulcastEncodings.push_back(encoding);
+  ec = mVideoConduit->ConfigureSendMediaCodec(&codecConfig);
+  ASSERT_EQ(ec, kMediaConduitNoError);
+
+  UniquePtr sink(new MockVideoSink());
+  rtc::VideoSinkWants wants;
+  mVideoConduit->AddOrUpdateSink(sink.get(), wants);
+
+  mVideoConduit->StartTransmitting();
+  SendVideoFrame(1280, 720, 1);
+  ASSERT_EQ(sink->mVideoFrame.width(), 1280);
+  ASSERT_EQ(sink->mVideoFrame.height(), 720);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 1000U);
+
+  SendVideoFrame(640, 360, 2);
+  ASSERT_EQ(sink->mVideoFrame.width(), 640);
+  ASSERT_EQ(sink->mVideoFrame.height(), 360);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 2000U);
+
+  SendVideoFrame(1920, 1280, 3);
+  ASSERT_EQ(sink->mVideoFrame.width(), 1080);
+  ASSERT_EQ(sink->mVideoFrame.height(), 720);
+  ASSERT_EQ(sink->mVideoFrame.timestamp_us(), 3000U);
+
+  mVideoConduit->StopTransmitting();
+  mVideoConduit->RemoveSink(sink.get());
+}
+
 } // End namespace test.

From 706ac3aea0c835ebfe8c1f28bc78286747660cdf Mon Sep 17 00:00:00 2001
From: Sebastian Hengst 
Date: Mon, 27 Nov 2017 19:57:34 +0200
Subject: [PATCH 71/77] Backed out 3 changesets (bug 1415478) for frequently
 asserting in own test test_autoplay_policy.html at
 MediaDecoderStateMachine.cpp:989. r=backout

Backed out changeset 6ba103fe1caf (bug 1415478)
Backed out changeset df6721a3584f (bug 1415478)
Backed out changeset 8a802839959b (bug 1415478)

--HG--
extra : rebase_source : be4296b1b36005195897de5544941b58895de661
---
 dom/html/HTMLMediaElement.cpp            |  10 +-
 dom/media/AutoplayPolicy.cpp             |  33 ++--
 dom/media/AutoplayPolicy.h               |   5 +-
 dom/media/test/mochitest.ini             |   1 -
 dom/media/test/test_autoplay_policy.html | 182 -----------------------
 modules/libpref/init/all.js              |   8 +-
 6 files changed, 24 insertions(+), 215 deletions(-)
 delete mode 100644 dom/media/test/test_autoplay_policy.html

diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp
index 11a0573fb8b8..c25359536eb2 100644
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -670,6 +670,11 @@ void HTMLMediaElement::ReportLoadError(const char* aMsg,
                                   aParamCount);
 }
 
+static bool IsAutoplayEnabled()
+{
+  return Preferences::GetBool("media.autoplay.enabled");
+}
+
 class HTMLMediaElement::AudioChannelAgentCallback final :
   public nsIAudioChannelAgentCallback
 {
@@ -2434,8 +2439,7 @@ void HTMLMediaElement::UpdatePreloadAction()
   PreloadAction nextAction = PRELOAD_UNDEFINED;
   // If autoplay is set, or we're playing, we should always preload data,
   // as we'll need it to play.
-  if ((AutoplayPolicy::IsMediaElementAllowedToPlay(WrapNotNull(this)) &&
-       HasAttr(kNameSpaceID_None, nsGkAtoms::autoplay)) ||
+  if ((IsAutoplayEnabled() && HasAttr(kNameSpaceID_None, nsGkAtoms::autoplay)) ||
       !mPaused)
   {
     nextAction = HTMLMediaElement::PRELOAD_ENOUGH;
@@ -6186,7 +6190,7 @@ bool HTMLMediaElement::CanActivateAutoplay()
   // download is controlled by the script and there is no way to evaluate
   // MediaDecoder::CanPlayThrough().
 
-  if (!AutoplayPolicy::IsMediaElementAllowedToPlay(WrapNotNull(this))) {
+  if (!IsAutoplayEnabled()) {
     return false;
   }
 
diff --git a/dom/media/AutoplayPolicy.cpp b/dom/media/AutoplayPolicy.cpp
index 344ae3b99a31..ca882e42b204 100644
--- a/dom/media/AutoplayPolicy.cpp
+++ b/dom/media/AutoplayPolicy.cpp
@@ -7,6 +7,7 @@
 #include "AutoplayPolicy.h"
 
 #include "mozilla/EventStateManager.h"
+#include "mozilla/NotNull.h"
 #include "mozilla/Preferences.h"
 #include "mozilla/dom/HTMLMediaElement.h"
 #include "nsIDocument.h"
@@ -17,6 +18,10 @@ namespace dom {
 /* static */ bool
 AutoplayPolicy::IsDocumentAllowedToPlay(nsIDocument* aDoc)
 {
+  if (!Preferences::GetBool("media.autoplay.enabled.user-gestures-needed")) {
+    return true;
+  }
+
   return aDoc ? aDoc->HasBeenUserActivated() : false;
 }
 
@@ -27,28 +32,16 @@ AutoplayPolicy::IsMediaElementAllowedToPlay(NotNull aElement)
     return true;
   }
 
+  if (Preferences::GetBool("media.autoplay.enabled.user-gestures-needed")) {
+    return AutoplayPolicy::IsDocumentAllowedToPlay(aElement->OwnerDoc());
+  }
+
   // TODO : this old way would be removed when user-gestures-needed becomes
   // as a default option to block autoplay.
-  if (!Preferences::GetBool("media.autoplay.enabled.user-gestures-needed", false)) {
-    // If user triggers load() or seek() before play(), we would also allow the
-    // following play().
-    return aElement->GetAndClearHasUserInteractedLoadOrSeek() ||
-           EventStateManager::IsHandlingUserInput();
-   }
-
-  // Muted content
-  if (aElement->Volume() == 0.0 || aElement->Muted()) {
-    return true;
-  }
-
-  // Media has already loaded metadata and doesn't contain audio track
-  if (aElement->IsVideo() &&
-      aElement->ReadyState() >= nsIDOMHTMLMediaElement::HAVE_METADATA &&
-      !aElement->HasAudio()) {
-    return true;
-  }
-
-  return AutoplayPolicy::IsDocumentAllowedToPlay(aElement->OwnerDoc());
+  // If user triggers load() or seek() before play(), we would also allow the
+  // following play().
+  return aElement->GetAndClearHasUserInteractedLoadOrSeek() ||
+         EventStateManager::IsHandlingUserInput();
 }
 
 } // namespace dom
diff --git a/dom/media/AutoplayPolicy.h b/dom/media/AutoplayPolicy.h
index 0930e30d998e..b9dd4a1a052f 100644
--- a/dom/media/AutoplayPolicy.h
+++ b/dom/media/AutoplayPolicy.h
@@ -25,14 +25,13 @@ class HTMLMediaElement;
  * conditions is true.
  * 1) Owner document is activated by user gestures
  *    We restrict user gestures to "mouse click", "keyboard press" and "touch".
- * 2) Muted media content or video without audio content
+ * 2) TODO...
  */
 class AutoplayPolicy
 {
 public:
-  static bool IsMediaElementAllowedToPlay(NotNull aElement);
-private:
   static bool IsDocumentAllowedToPlay(nsIDocument* aDoc);
+  static bool IsMediaElementAllowedToPlay(NotNull aElement);
 };
 
 } // namespace dom
diff --git a/dom/media/test/mochitest.ini b/dom/media/test/mochitest.ini
index 64346abbb65f..57936edc3ec8 100644
--- a/dom/media/test/mochitest.ini
+++ b/dom/media/test/mochitest.ini
@@ -679,7 +679,6 @@ skip-if = true # bug 475110 - disabled since we don't play Wave files standalone
 [test_autoplay.html]
 [test_autoplay_contentEditable.html]
 skip-if = android_version == '15' || android_version == '17' || android_version == '22' # android(bug 1232305, bug 1232318, bug 1372457)
-[test_autoplay_policy.html]
 [test_buffered.html]
 skip-if = android_version == '15' || android_version == '22' # bug 1308388, android(bug 1232305)
 [test_bug448534.html]
diff --git a/dom/media/test/test_autoplay_policy.html b/dom/media/test/test_autoplay_policy.html
deleted file mode 100644
index 332ac9bfbc35..000000000000
--- a/dom/media/test/test_autoplay_policy.html
+++ /dev/null
@@ -1,182 +0,0 @@
-
-
-
-
-  Autoplay policy test
-  
-  
-  
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
index db93f3097eb2..40d390bc5bc1 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -593,13 +593,9 @@ pref("media.recorder.video.frame_drops", true);
 
 // Whether to autostart a media element with an |autoplay| attribute
 pref("media.autoplay.enabled", true);
-
-// If "media.autoplay.enabled" is false, and this pref is true, then audible media
-// would only be allowed to autoplay after website has been activated by specific
-// user gestures, but the non-audible media won't be restricted.
-#ifdef NIGHTLY_BUILD
+// If "media.autoplay.enabled" is off, and this pref is on, then autoplay could
+// be executed after website has been activated by specific user gestures.
 pref("media.autoplay.enabled.user-gestures-needed", false);
-#endif
 
 // The default number of decoded video frames that are enqueued in
 // MediaDecoderReader's mVideoQueue.

From 18fe01839fc912fe6d37fefec6e79f17121c3d76 Mon Sep 17 00:00:00 2001
From: Jan Henning 
Date: Tue, 7 Nov 2017 22:07:05 +0100
Subject: [PATCH 72/77] Bug 1415297 - Dispatch TabEvents.LOADED again on
 DOMContentLoaded. r=sebastian

AddToHomeScreenPromotion uses this for triggering the self-same promotion and
the BrowserToolbar uses it to update its progress display.

MozReview-Commit-ID: 1xrwjWP5Idh

--HG--
extra : rebase_source : 64d9ef66cf8427cccf3f84f59806cada9eddf842
---
 mobile/android/base/java/org/mozilla/gecko/Tabs.java         | 5 +++++
 .../robocop/src/org/mozilla/gecko/tests/AboutHomeTest.java   | 2 +-
 .../robocop/src/org/mozilla/gecko/tests/OldBaseTest.java     | 4 ++--
 .../src/org/mozilla/gecko/tests/helpers/WaitHelper.java      | 2 +-
 .../robocop/src/org/mozilla/gecko/tests/testAboutPage.java   | 2 +-
 .../src/org/mozilla/gecko/tests/testAddonManager.java        | 4 ++--
 6 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/mobile/android/base/java/org/mozilla/gecko/Tabs.java b/mobile/android/base/java/org/mozilla/gecko/Tabs.java
index 3cc44199ee64..a0fc0c590a31 100644
--- a/mobile/android/base/java/org/mozilla/gecko/Tabs.java
+++ b/mobile/android/base/java/org/mozilla/gecko/Tabs.java
@@ -152,6 +152,7 @@ public class Tabs implements BundleEventListener {
             "Content:SecurityChange",
             "Content:StateChange",
             "Content:LoadError",
+            "Content:DOMContentLoaded",
             "Content:PageShow",
             "Content:DOMTitleChanged",
             "DesktopMode:Changed",
@@ -637,6 +638,10 @@ public class Tabs implements BundleEventListener {
             tab.handleContentLoaded();
             notifyListeners(tab, Tabs.TabEvents.LOAD_ERROR);
 
+        } else if ("Content:DOMContentLoaded".equals(event)) {
+            tab.handleContentLoaded();
+            notifyListeners(tab, TabEvents.LOADED);
+
         } else if ("Content:PageShow".equals(event)) {
             tab.setLoadedFromCache(message.getBoolean("fromCache"));
             tab.updateUserRequested(message.getString("userRequested"));
diff --git a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/AboutHomeTest.java b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/AboutHomeTest.java
index 1ccac2c7a8af..efc62b603699 100644
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/AboutHomeTest.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/AboutHomeTest.java
@@ -85,7 +85,7 @@ abstract class AboutHomeTest extends PixelTest {
         View bookmark = getDisplayedBookmark(url);
         if (bookmark != null) {
             Actions.EventExpecter contentEventExpecter =
-                    mActions.expectGlobalEvent(Actions.EventType.GECKO, "Content:DOMContentLoaded");
+                    mActions.expectGlobalEvent(Actions.EventType.UI, "Content:DOMContentLoaded");
             mSolo.clickOnView(bookmark);
             contentEventExpecter.blockForEvent();
             contentEventExpecter.unregisterListener();
diff --git a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/OldBaseTest.java b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/OldBaseTest.java
index e26b60a7031f..577ff4bca8f8 100644
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/OldBaseTest.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/OldBaseTest.java
@@ -158,7 +158,7 @@ abstract class OldBaseTest extends BaseRobocopTest {
 
     protected final void hitEnterAndWait() {
         Actions.EventExpecter contentEventExpecter =
-                mActions.expectGlobalEvent(Actions.EventType.GECKO, "Content:DOMContentLoaded");
+                mActions.expectGlobalEvent(Actions.EventType.UI, "Content:DOMContentLoaded");
         mActions.sendSpecialKey(Actions.SpecialKey.ENTER);
         // wait for screen to load
         contentEventExpecter.blockForEvent();
@@ -202,7 +202,7 @@ abstract class OldBaseTest extends BaseRobocopTest {
      */
     protected final void loadUrlAndWait(final String url) {
         Actions.EventExpecter contentEventExpecter =
-                mActions.expectGlobalEvent(Actions.EventType.GECKO, "Content:DOMContentLoaded");
+                mActions.expectGlobalEvent(Actions.EventType.UI, "Content:DOMContentLoaded");
         loadUrl(url);
         contentEventExpecter.blockForEvent();
         contentEventExpecter.unregisterListener();
diff --git a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/helpers/WaitHelper.java b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/helpers/WaitHelper.java
index 2b791a8c5250..dbed88bb9d23 100644
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/helpers/WaitHelper.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/helpers/WaitHelper.java
@@ -120,7 +120,7 @@ public final class WaitHelper {
 
         // Wait for the page load and title changed event.
         final EventExpecter[] eventExpecters = new EventExpecter[] {
-            sActions.expectGlobalEvent(Actions.EventType.GECKO, "Content:DOMContentLoaded"),
+            sActions.expectGlobalEvent(Actions.EventType.UI, "Content:DOMContentLoaded"),
             sActions.expectGlobalEvent(Actions.EventType.UI, "Content:DOMTitleChanged")
         };
 
diff --git a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testAboutPage.java b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testAboutPage.java
index 1c044d3f2014..3993bb6cfca7 100644
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testAboutPage.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testAboutPage.java
@@ -30,7 +30,7 @@ public class testAboutPage extends PixelTest {
 
         // Set up listeners to catch the page load we're about to do.
         Actions.EventExpecter tabEventExpecter = mActions.expectGlobalEvent(Actions.EventType.UI, "Tab:Added");
-        Actions.EventExpecter contentEventExpecter = mActions.expectGlobalEvent(Actions.EventType.GECKO, "Content:DOMContentLoaded");
+        Actions.EventExpecter contentEventExpecter = mActions.expectGlobalEvent(Actions.EventType.UI, "Content:DOMContentLoaded");
 
         selectSettingsItem(mStringHelper.MOZILLA_SECTION_LABEL, mStringHelper.ABOUT_LABEL);
 
diff --git a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testAddonManager.java b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testAddonManager.java
index c6aec2ed3ed2..50f78f878062 100644
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testAddonManager.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/testAddonManager.java
@@ -30,7 +30,7 @@ public class testAddonManager extends PixelTest  {
 
         // Set up listeners to catch the page load we're about to do
         tabEventExpecter = mActions.expectGlobalEvent(Actions.EventType.UI, "Tab:Added");
-        contentEventExpecter = mActions.expectGlobalEvent(Actions.EventType.GECKO, "Content:DOMContentLoaded");
+        contentEventExpecter = mActions.expectGlobalEvent(Actions.EventType.UI, "Content:DOMContentLoaded");
 
         // Wait for the new tab and page to load
         tabEventExpecter.blockForEvent();
@@ -51,7 +51,7 @@ public class testAddonManager extends PixelTest  {
 
         // Setup wait for tab to spawn and load
         tabEventExpecter = mActions.expectGlobalEvent(Actions.EventType.UI, "Tab:Added");
-        contentEventExpecter = mActions.expectGlobalEvent(Actions.EventType.GECKO, "Content:DOMContentLoaded");
+        contentEventExpecter = mActions.expectGlobalEvent(Actions.EventType.UI, "Content:DOMContentLoaded");
 
         // Open a new tab
         final String blankURL = getAbsoluteUrl(mStringHelper.ROBOCOP_BLANK_PAGE_01_URL);

From 484847938d192c86e2767c5e052b8471daa6d976 Mon Sep 17 00:00:00 2001
From: Rail Aliiev 
Date: Fri, 24 Nov 2017 12:56:24 -0500
Subject: [PATCH 73/77] Bug 1420469 - action task routes use literal
 "$ownTaskId" r=bstack

MozReview-Commit-ID: CsCtSpvDIip

--HG--
extra : rebase_source : 822c33e424218c3601a92a056a96f2c5c0431a49
extra : source : d951d9282368ea82c8111680a713ea6ebd737426
---
 .taskcluster.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.taskcluster.yml b/.taskcluster.yml
index 5a5c8ce2f103..8bd532164815 100644
--- a/.taskcluster.yml
+++ b/.taskcluster.yml
@@ -65,7 +65,7 @@ tasks:
           - "tc-treeherder.v2.${repository.project}.${push.revision}.${push.pushlog_id}"
           - "tc-treeherder-stage.v2.${repository.project}.${push.revision}.${push.pushlog_id}"
           - $if: 'tasks_for == "action"'
-            then: "index.gecko.v2.${repository.project}.pushlog-id.${push.pushlog_id}.actions.$ownTaskId"
+            then: "index.gecko.v2.${repository.project}.pushlog-id.${push.pushlog_id}.actions.${ownTaskId}"
             else: "index.gecko.v2.${repository.project}.latest.firefox.decision-${cron.job_name}"
 
       scopes:

From 71b95cfe9cb2107112a4047ede93309c0bc59eb3 Mon Sep 17 00:00:00 2001
From: Kartikaya Gupta 
Date: Mon, 27 Nov 2017 12:37:30 -0500
Subject: [PATCH 74/77] Bug 1418397 - Add dispatch-to-content hit info to WR
 hit-test for inactive scrollframes. r=mstange

MozReview-Commit-ID: F6HgYPRc9Bi

--HG--
extra : rebase_source : b05af2f355118fcd340effc9e022e95f7b03fbaa
---
 layout/generic/nsGfxScrollFrame.cpp | 26 +++++++-----
 layout/painting/nsDisplayList.cpp   | 65 +++++++++++++++++++++--------
 layout/painting/nsDisplayList.h     | 10 ++++-
 3 files changed, 72 insertions(+), 29 deletions(-)

diff --git a/layout/generic/nsGfxScrollFrame.cpp b/layout/generic/nsGfxScrollFrame.cpp
index da25bf67a164..3d46090ac1bd 100644
--- a/layout/generic/nsGfxScrollFrame.cpp
+++ b/layout/generic/nsGfxScrollFrame.cpp
@@ -3631,19 +3631,23 @@ ScrollFrameHelper::BuildDisplayList(nsDisplayListBuilder*   aBuilder,
   if (couldBuildLayer) {
     // Make sure that APZ will dispatch events back to content so we can create
     // a displayport for this frame. We'll add the item later on.
-    nsDisplayLayerEventRegions* inactiveRegionItem = nullptr;
-    if (aBuilder->IsPaintingToWindow() &&
-        !mWillBuildScrollableLayer &&
-        aBuilder->IsBuildingLayerEventRegions())
-    {
-      inactiveRegionItem = new (aBuilder) nsDisplayLayerEventRegions(aBuilder, mScrolledFrame, 1);
-      inactiveRegionItem->AddInactiveScrollPort(mScrolledFrame, mScrollPort + aBuilder->ToReferenceFrame(mOuter));
-    }
-
-    if (inactiveRegionItem) {
+    if (!mWillBuildScrollableLayer) {
       int32_t zIndex =
         MaxZIndexInListOfItemsContainedInFrame(scrolledContent.PositionedDescendants(), mOuter);
-      AppendInternalItemToTop(scrolledContent, inactiveRegionItem, zIndex);
+      if (aBuilder->BuildCompositorHitTestInfo()) {
+        CompositorHitTestInfo info = CompositorHitTestInfo::eVisibleToHitTest
+                                   | CompositorHitTestInfo::eDispatchToContent;
+        nsDisplayCompositorHitTestInfo* hitInfo =
+            new (aBuilder) nsDisplayCompositorHitTestInfo(aBuilder, mScrolledFrame, info, 1);
+        hitInfo->SetArea(mScrollPort + aBuilder->ToReferenceFrame(mOuter));
+        AppendInternalItemToTop(scrolledContent, hitInfo, zIndex);
+      }
+      if (aBuilder->IsBuildingLayerEventRegions()) {
+        nsDisplayLayerEventRegions* inactiveRegionItem =
+            new (aBuilder) nsDisplayLayerEventRegions(aBuilder, mScrolledFrame, 1);
+        inactiveRegionItem->AddInactiveScrollPort(mScrolledFrame, mScrollPort + aBuilder->ToReferenceFrame(mOuter));
+        AppendInternalItemToTop(scrolledContent, inactiveRegionItem, zIndex);
+      }
     }
 
     if (aBuilder->ShouldBuildScrollInfoItemsForHoisting()) {
diff --git a/layout/painting/nsDisplayList.cpp b/layout/painting/nsDisplayList.cpp
index e1ae1b7417a3..7061ee0fe5ec 100644
--- a/layout/painting/nsDisplayList.cpp
+++ b/layout/painting/nsDisplayList.cpp
@@ -4870,9 +4870,11 @@ nsDisplayEventReceiver::CreateWebRenderCommands(mozilla::wr::DisplayListBuilder&
 
 nsDisplayCompositorHitTestInfo::nsDisplayCompositorHitTestInfo(nsDisplayListBuilder* aBuilder,
                                                                nsIFrame* aFrame,
-                                                               mozilla::gfx::CompositorHitTestInfo aHitTestInfo)
+                                                               mozilla::gfx::CompositorHitTestInfo aHitTestInfo,
+                                                               uint32_t aIndex)
   : nsDisplayEventReceiver(aBuilder, aFrame)
   , mHitTestInfo(aHitTestInfo)
+  , mIndex(aIndex)
 {
   MOZ_COUNT_CTOR(nsDisplayCompositorHitTestInfo);
   // We should never even create this display item if we're not building
@@ -4889,6 +4891,12 @@ nsDisplayCompositorHitTestInfo::nsDisplayCompositorHitTestInfo(nsDisplayListBuil
   }
 }
 
+void
+nsDisplayCompositorHitTestInfo::SetArea(const nsRect& aArea)
+{
+  mArea = Some(aArea);
+}
+
 bool
 nsDisplayCompositorHitTestInfo::CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& aBuilder,
                                                         mozilla::wr::IpcResourceUpdateQueue& aResources,
@@ -4896,26 +4904,31 @@ nsDisplayCompositorHitTestInfo::CreateWebRenderCommands(mozilla::wr::DisplayList
                                                         mozilla::layers::WebRenderLayerManager* aManager,
                                                         nsDisplayListBuilder* aDisplayListBuilder)
 {
-  nsRect borderBox;
-  nsIScrollableFrame* scrollFrame = nsLayoutUtils::GetScrollableFrameFor(mFrame);
-  if (scrollFrame) {
-    // If the frame is content of a scrollframe, then we need to pick up the
-    // area corresponding to the overflow rect as well. Otherwise the parts of
-    // the overflow that are not occupied by descendants get skipped and the
-    // APZ code sends touch events to the content underneath instead.
-    // See https://bugzilla.mozilla.org/show_bug.cgi?id=1127773#c15.
-    borderBox = mFrame->GetScrollableOverflowRect();
-  } else {
-    borderBox = nsRect(nsPoint(0, 0), mFrame->GetSize());
-  }
-
-  if (borderBox.IsEmpty()) {
-    return true;
+  if (mArea.isNothing()) {
+    nsRect borderBox;
+    nsIScrollableFrame* scrollFrame = nsLayoutUtils::GetScrollableFrameFor(mFrame);
+    if (scrollFrame) {
+      // If the frame is content of a scrollframe, then we need to pick up the
+      // area corresponding to the overflow rect as well. Otherwise the parts of
+      // the overflow that are not occupied by descendants get skipped and the
+      // APZ code sends touch events to the content underneath instead.
+      // See https://bugzilla.mozilla.org/show_bug.cgi?id=1127773#c15.
+      borderBox = mFrame->GetScrollableOverflowRect();
+    } else {
+      borderBox = nsRect(nsPoint(0, 0), mFrame->GetSize());
+    }
+
+    if (borderBox.IsEmpty()) {
+      return true;
+    }
+
+    mArea = Some(borderBox + aDisplayListBuilder->ToReferenceFrame(mFrame));
   }
 
+  MOZ_ASSERT(mArea.isSome());
   wr::LayoutRect rect = aSc.ToRelativeLayoutRect(
       LayoutDeviceRect::FromAppUnits(
-          borderBox + aDisplayListBuilder->ToReferenceFrame(mFrame),
+          *mArea,
           mFrame->PresContext()->AppUnitsPerDevPixel()));
 
   // XXX: eventually this scrollId computation and the SetHitTestInfo
@@ -4945,6 +4958,24 @@ nsDisplayCompositorHitTestInfo::WriteDebugInfo(std::stringstream& aStream)
   aStream << nsPrintfCString(" (hitTestInfo 0x%x)", (int)mHitTestInfo).get();
 }
 
+uint32_t
+nsDisplayCompositorHitTestInfo::GetPerFrameKey() const
+{
+  return (mIndex << TYPE_BITS) | nsDisplayItem::GetPerFrameKey();
+}
+
+int32_t
+nsDisplayCompositorHitTestInfo::ZIndex() const
+{
+  return mOverrideZIndex ? *mOverrideZIndex : nsDisplayItem::ZIndex();
+}
+
+void
+nsDisplayCompositorHitTestInfo::SetOverrideZIndex(int32_t aZIndex)
+{
+  mOverrideZIndex = Some(aZIndex);
+}
+
 void
 nsDisplayLayerEventRegions::AddFrame(nsDisplayListBuilder* aBuilder,
                                      nsIFrame* aFrame)
diff --git a/layout/painting/nsDisplayList.h b/layout/painting/nsDisplayList.h
index f71bf7411fc1..eb35103bb999 100644
--- a/layout/painting/nsDisplayList.h
+++ b/layout/painting/nsDisplayList.h
@@ -4343,7 +4343,8 @@ public:
 class nsDisplayCompositorHitTestInfo : public nsDisplayEventReceiver {
 public:
   nsDisplayCompositorHitTestInfo(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame,
-                                 mozilla::gfx::CompositorHitTestInfo aHitTestInfo);
+                                 mozilla::gfx::CompositorHitTestInfo aHitTestInfo,
+                                 uint32_t aIndex = 0);
 
 #ifdef NS_BUILD_REFCNT_LOGGING
   virtual ~nsDisplayCompositorHitTestInfo()
@@ -4353,6 +4354,7 @@ public:
 #endif
 
   mozilla::gfx::CompositorHitTestInfo HitTestInfo() const { return mHitTestInfo; }
+  void SetArea(const nsRect& aArea);
 
   bool CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& aBuilder,
                                mozilla::wr::IpcResourceUpdateQueue& aResources,
@@ -4360,12 +4362,18 @@ public:
                                mozilla::layers::WebRenderLayerManager* aManager,
                                nsDisplayListBuilder* aDisplayListBuilder) override;
   void WriteDebugInfo(std::stringstream& aStream) override;
+  uint32_t GetPerFrameKey() const override;
+  int32_t ZIndex() const override;
+  void SetOverrideZIndex(int32_t aZIndex);
 
   NS_DISPLAY_DECL_NAME("CompositorHitTestInfo", TYPE_COMPOSITOR_HITTEST_INFO)
 
 private:
   mozilla::gfx::CompositorHitTestInfo mHitTestInfo;
   mozilla::Maybe mScrollTarget;
+  mozilla::Maybe mArea;
+  uint32_t mIndex;
+  mozilla::Maybe mOverrideZIndex;
 };
 
 /**

From 4ee38f4584a6c1802ce744b2c75005527ab90e3c Mon Sep 17 00:00:00 2001
From: Andreas Tolfsen 
Date: Fri, 24 Nov 2017 16:20:21 +0000
Subject: [PATCH 75/77] Bug 1420431 - Allow WebElement to be returned from
 GeckoDriver. r=maja_zf

Instead of having to assign resp.body.value explicitly when dealing
with WebElements, this makes it possible to return WebElement
references directly from GeckoDriver command handlers.  This was
not possible in the past because web element representations were
just plain object literals.

MozReview-Commit-ID: EPqXJ2gpNen

--HG--
extra : rebase_source : 334a5f4f597259c28b3c00c93f3ad24912d5dd87
---
 testing/marionette/driver.js | 4 ++--
 testing/marionette/server.js | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/testing/marionette/driver.js b/testing/marionette/driver.js
index 1029895cda29..8a044210de03 100644
--- a/testing/marionette/driver.js
+++ b/testing/marionette/driver.js
@@ -2171,12 +2171,12 @@ GeckoDriver.prototype.findElements = async function(cmd, resp) {
  * @throws {UnexpectedAlertOpenError}
  *     A modal dialog is open, blocking this operation.
  */
-GeckoDriver.prototype.getActiveElement = async function(cmd, resp) {
+GeckoDriver.prototype.getActiveElement = async function() {
   assert.content(this.context);
   assert.window(this.getCurrentWindow());
   this._assertAndDismissModal();
 
-  resp.body.value = await this.listener.getActiveElement();
+  return this.listener.getActiveElement();
 };
 
 /**
diff --git a/testing/marionette/server.js b/testing/marionette/server.js
index 118748be8e5d..8a71c0fcd03e 100644
--- a/testing/marionette/server.js
+++ b/testing/marionette/server.js
@@ -18,6 +18,7 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 
 Cu.import("chrome://marionette/content/assert.js");
 const {GeckoDriver} = Cu.import("chrome://marionette/content/driver.js", {});
+const {WebElement} = Cu.import("chrome://marionette/content/element.js", {});
 const {
   error,
   UnknownCommandError,
@@ -27,8 +28,7 @@ const {
   Message,
   Response,
 } = Cu.import("chrome://marionette/content/message.js", {});
-const {DebuggerTransport} =
-    Cu.import("chrome://marionette/content/transport.js", {});
+const {DebuggerTransport} = Cu.import("chrome://marionette/content/transport.js", {});
 
 XPCOMUtils.defineLazyServiceGetter(
     this, "env", "@mozilla.org/process/environment;1", "nsIEnvironment");
@@ -560,7 +560,7 @@ server.TCPConnection = class {
     let rv = await fn.bind(this.driver)(cmd, resp);
 
     if (typeof rv != "undefined") {
-      if (typeof rv != "object") {
+      if (rv instanceof WebElement || typeof rv != "object") {
         resp.body = {value: rv};
       } else {
         resp.body = rv;

From 4a2fe54072f9bbbf7e69b58f3b54976db8dbe2f1 Mon Sep 17 00:00:00 2001
From: Andreas Tolfsen 
Date: Fri, 24 Nov 2017 16:23:02 +0000
Subject: [PATCH 76/77] Bug 1420431 - Return no such element error when on no
 active element. r=maja_zf

document.activeElement will return null if there is no document
element.  This may happen if, for example, in an HTML document the
 element is removed.

The WPT test test_sucess_without_body in get_active_element.py
is wrong.  It expects Get Active Element to return null if there
is no document element, but following a recent specification change
we want it to return a no such element error.

Specification change: https://github.com/w3c/webdriver/pull/1157

MozReview-Commit-ID: LQJ3slV9aty

--HG--
extra : rebase_source : cc349bb642f57bb2203d126ecd86d8d988d90301
---
 testing/marionette/driver.js                      |  8 ++++++--
 testing/marionette/listener.js                    | 15 ++++++++++++++-
 testing/web-platform/meta/MANIFEST.json           |  2 +-
 .../element_retrieval/get_active_element.py.ini   |  5 +----
 .../tests/element_retrieval/get_active_element.py |  6 ++++--
 5 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/testing/marionette/driver.js b/testing/marionette/driver.js
index 8a044210de03..1ce4e7e34dd1 100644
--- a/testing/marionette/driver.js
+++ b/testing/marionette/driver.js
@@ -2159,10 +2159,11 @@ GeckoDriver.prototype.findElements = async function(cmd, resp) {
 };
 
 /**
- * Return the active element on the page.
+ * Return the active element in the document.
  *
  * @return {WebElement}
- *     Active element of the current browsing context's document element.
+ *     Active element of the current browsing context's document
+ *     element, if the document element is non-null.
  *
  * @throws {UnsupportedOperationError}
  *     Not available in current context.
@@ -2170,6 +2171,9 @@ GeckoDriver.prototype.findElements = async function(cmd, resp) {
  *     Top-level browsing context has been discarded.
  * @throws {UnexpectedAlertOpenError}
  *     A modal dialog is open, blocking this operation.
+ * @throws {NoSuchElementError}
+ *     If the document does not have an active element, i.e. if
+ *     its document element has been deleted.
  */
 GeckoDriver.prototype.getActiveElement = async function() {
   assert.content(this.context);
diff --git a/testing/marionette/listener.js b/testing/marionette/listener.js
index bb062e1709b2..f89320702111 100644
--- a/testing/marionette/listener.js
+++ b/testing/marionette/listener.js
@@ -1274,9 +1274,22 @@ async function findElementsContent(strategy, selector, opts = {}) {
   return webEls;
 }
 
-/** Find and return the active element on the page. */
+/**
+ * Return the active element in the document.
+ *
+ * @return {WebElement}
+ *     Active element of the current browsing context's document
+ *     element, if the document element is non-null.
+ *
+ * @throws {NoSuchElementError}
+ *     If the document does not have an active element, i.e. if
+ *     its document element has been deleted.
+ */
 function getActiveElement() {
   let el = curContainer.frame.document.activeElement;
+  if (!el) {
+    throw new NoSuchElementError();
+  }
   return evaluate.toJSON(el, seenEls);
 }
 
diff --git a/testing/web-platform/meta/MANIFEST.json b/testing/web-platform/meta/MANIFEST.json
index 610b431dbc21..1ddada085d67 100644
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -575993,7 +575993,7 @@
    "wdspec"
   ],
   "webdriver/tests/element_retrieval/get_active_element.py": [
-   "74bb0beec41ab857f6814d47191f29065a536802",
+   "918c6e48047f31a088ec44e9b0d070b0ae3d6077",
    "wdspec"
   ],
   "webdriver/tests/fullscreen_window.py": [
diff --git a/testing/web-platform/meta/webdriver/tests/element_retrieval/get_active_element.py.ini b/testing/web-platform/meta/webdriver/tests/element_retrieval/get_active_element.py.ini
index 32f84d5db5d4..23ed8a29b618 100644
--- a/testing/web-platform/meta/webdriver/tests/element_retrieval/get_active_element.py.ini
+++ b/testing/web-platform/meta/webdriver/tests/element_retrieval/get_active_element.py.ini
@@ -1,11 +1,8 @@
 [get_active_element.py]
   type: wdspec
+
   [get_active_element.py::test_handle_prompt_dismiss]
     expected: FAIL
 
   [get_active_element.py::test_handle_prompt_accept]
     expected: FAIL
-
-  [get_active_element.py::test_sucess_without_body]
-    expected: FAIL
-
diff --git a/testing/web-platform/tests/webdriver/tests/element_retrieval/get_active_element.py b/testing/web-platform/tests/webdriver/tests/element_retrieval/get_active_element.py
index 9bc6f732768f..5c2b52a55a03 100644
--- a/testing/web-platform/tests/webdriver/tests/element_retrieval/get_active_element.py
+++ b/testing/web-platform/tests/webdriver/tests/element_retrieval/get_active_element.py
@@ -2,9 +2,11 @@ from tests.support.asserts import assert_error, assert_dialog_handled, assert_sa
 from tests.support.fixtures import create_dialog
 from tests.support.inline import inline
 
+
 def read_global(session, name):
     return session.execute_script("return %s;" % name)
 
+
 def get_active_element(session):
     return session.transport.send("GET", "session/%s/element/active" % session.session_id)
 
@@ -244,7 +246,7 @@ def test_success_iframe_content(session):
     assert_is_active_element(session, response)
 
 
-def test_sucess_without_body(session):
+def test_missing_document_element(session):
     session.url = inline("")
     session.execute_script("""
         if (document.body.remove) {
@@ -254,4 +256,4 @@ def test_sucess_without_body(session):
         }""")
 
     response = get_active_element(session)
-    assert_is_active_element(session, response)
+    assert_error(response, "no such element")

From 399a7f38c12eb4426059011cf9c3817d383e05f4 Mon Sep 17 00:00:00 2001
From: Josh Matthews 
Date: Mon, 27 Nov 2017 13:48:51 -0500
Subject: [PATCH 77/77] servo: Merge #19353 - Add clang packages for non-debian
 linuxes (from servo:jdm-patch-7); r=KiChjang

Per https://github.com/servo/gecko-media/issues/71#issuecomment-346606660.

Source-Repo: https://github.com/servo/servo
Source-Revision: 10e5ae2c65575aeea4681a89da8ba6aead23af54

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 527e88303ca768901dd1c2f68eae77916f0c574e
---
 servo/README.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/servo/README.md b/servo/README.md
index ee01a5088371..6225c7ed4873 100644
--- a/servo/README.md
+++ b/servo/README.md
@@ -75,7 +75,7 @@ sudo dnf install curl freeglut-devel libtool gcc-c++ libXi-devel \
     freetype-devel mesa-libGL-devel mesa-libEGL-devel glib2-devel libX11-devel libXrandr-devel gperf \
     fontconfig-devel cabextract ttmkfdir python python-virtualenv python-pip expat-devel \
     rpm-build openssl-devel cmake bzip2-devel libXcursor-devel libXmu-devel mesa-libOSMesa-devel \
-    dbus-devel ncurses-devel pulseaudio-libs-devel
+    dbus-devel ncurses-devel pulseaudio-libs-devel clang clang-libs
 ```
 #### On CentOS
 
@@ -84,7 +84,7 @@ sudo yum install curl freeglut-devel libtool gcc-c++ libXi-devel \
     freetype-devel mesa-libGL-devel mesa-libEGL-devel glib2-devel libX11-devel libXrandr-devel gperf \
     fontconfig-devel cabextract ttmkfdir python python-virtualenv python-pip expat-devel \
     rpm-build openssl-devel cmake bzip2-devel libXcursor-devel libXmu-devel mesa-libOSMesa-devel \
-    dbus-devel ncurses-devel python34 pulseaudio-libs-devel
+    dbus-devel ncurses-devel python34 pulseaudio-libs-devel clang clang-libs
 ```
 
 #### On openSUSE Linux
@@ -92,7 +92,7 @@ sudo yum install curl freeglut-devel libtool gcc-c++ libXi-devel \
 sudo zypper install libX11-devel libexpat-devel libbz2-devel Mesa-libEGL-devel Mesa-libGL-devel cabextract cmake \
     dbus-1-devel fontconfig-devel freetype-devel gcc-c++ git glib2-devel gperf \
     harfbuzz-devel libOSMesa-devel libXcursor-devel libXi-devel libXmu-devel libXrandr-devel libopenssl-devel \
-    python-pip python-virtualenv rpm-build glu-devel
+    python-pip python-virtualenv rpm-build glu-devel llvm-clang libclang
 ```
 #### On Arch Linux