[structs] headers = [ "nsStyleStruct.h", "mozilla/StyleAnimationValue.h", "gfxFontConstants.h", "gfxFontFeatures.h", "COLRFonts.h", "nsStyleConsts.h", "mozilla/css/Loader.h", "mozilla/css/SheetLoadData.h", "mozilla/DeclarationBlock.h", "mozilla/dom/AnimationEffectBinding.h", "mozilla/dom/HTMLSlotElement.h", "mozilla/dom/KeyframeEffectBinding.h", "mozilla/dom/MediaList.h", "mozilla/dom/ScreenBinding.h", "mozilla/dom/ShadowRoot.h", "mozilla/dom/SVGPathSegBinding.h", "mozilla/ipc/ByteBuf.h", "mozilla/AnimationPropertySegment.h", "mozilla/ComputedTiming.h", "mozilla/CORSMode.h", "mozilla/Keyframe.h", "mozilla/ServoElementSnapshot.h", "mozilla/ServoElementSnapshotTable.h", "mozilla/dom/Element.h", "mozilla/dom/ChildIterator.h", "mozilla/dom/NameSpaceConstants.h", "mozilla/LookAndFeel.h", "mozilla/GeckoBindings.h", "mozilla/ServoBindings.h", "mozilla/ComputedStyle.h", "mozilla/PresShell.h", "mozilla/ServoTraversalStatistics.h", "mozilla/SizeOfState.h", "nsCSSProps.h", "nsMappedAttributes.h", "nsNameSpaceManager.h", ] raw-lines = [ # FIXME(emilio): Incrementally remove these "pub use"s. Probably # mozilla::css and mozilla::dom are easier. "pub use self::root::*;", "pub use self::root::mozilla::*;", "pub use self::root::mozilla::css::*;", "pub use self::root::mozilla::dom::*;", ] hide-types = [ ".*char_traits", ".*incompatible_char_type", ".*string_view", # https://github.com/rust-lang/rust-bindgen/issues/1503 "mozilla::StyleTimingFunction.*", # https://github.com/rust-lang/rust-bindgen/issues/1559 "mozilla::StyleGeneric.*", ".*ErrorResult.*", ] bitfield-enums = [ "nsChangeHint", "mozilla::OriginFlags", ] rusty-enums = [ "nsCompatibility", "mozilla::EffectCompositor_CascadeLevel", "mozilla::SheetType", "mozilla::dom::CallerType", "mozilla::dom::IterationCompositeOperation", "mozilla::dom::CompositeOperation", "mozilla::dom::CompositeOperationOrAuto", "mozilla::InheritTarget", "mozilla::css::DocumentMatchingFunction", "mozilla::css::SheetParsingMode", "nsStyleSVGOpacitySource", "mozilla::dom::Document_DocumentTheme", "mozilla::dom::Document_Type", "mozilla::LookAndFeel_IntID", "mozilla::LookAndFeel_FloatID", "nsCSSUnit", "nsCSSFontDesc", "nsCSSPropertyID", "nsCSSCounterDesc", "nsresult", "nsAtom_AtomKind", "nsStyleImageLayers_LayerType", "mozilla::ServoElementSnapshotFlags", "mozilla::Side", "mozilla::dom::PlaybackDirection", "mozilla::dom::FillMode", "mozilla::dom::ScreenColorGamut", "mozilla::HalfCorner", "mozilla::StyleFloatEdge", "mozilla::StyleShapeRadius", "mozilla::StyleWindowDragging", "mozilla::StyleAnimationPlayState", "mozilla::StyleOrient", "mozilla::StyleBoxSizing", "mozilla::StyleClear", "mozilla::StyleColumnFill", "mozilla::StyleColumnSpan", "mozilla::StyleDirection", "mozilla::StyleFloat", "mozilla::StyleImageOrientation", "mozilla::StyleInert", "mozilla::StyleUserModify", "mozilla::StyleUserInput", "mozilla::StyleBoxDirection", "mozilla::StyleRubyAlign", "mozilla::StyleTextSizeAdjust", "mozilla::StyleHyphens", "mozilla::StyleRubyPosition", "mozilla::StyleShapeSourceType", "mozilla::StyleVisibility", "mozilla::StyleBasicShapeType", "mozilla::StyleMathStyle", "nsStyleImageLayers_Size_DimensionType", "mozilla::StyleBorderCollapse", "mozilla::StyleBorderImageRepeat", "mozilla::StyleBoxPack", "mozilla::StyleWindowShadow", "mozilla::StyleDominantBaseline", "mozilla::StyleBoxOrient", "mozilla::StyleBoxAlign", "mozilla::StyleUserFocus", "mozilla::StyleUserSelect", "mozilla::StyleImageLayerRepeat", "mozilla::StyleImageLayerAttachment", "mozilla::StylePositionProperty", "mozilla::StyleBoxDecorationBreak", "mozilla::StyleBorderStyle", "mozilla::StyleRuleInclusion", "mozilla::StyleGridTrackBreadth", "mozilla::StyleOverscrollBehavior", "mozilla::StyleImeMode", "mozilla::StyleOverflowAnchor", "mozilla::StyleListStylePosition", "mozilla::StylePointerEvents", "mozilla::StyleScrollbarWidth", "mozilla::StyleWhiteSpace", "mozilla::StyleTextRendering", "mozilla::StyleFlexDirection", "mozilla::StyleStrokeLinecap", "mozilla::StyleStrokeLinejoin", "mozilla::StyleFlexWrap", "mozilla::StyleMathVariant", "mozilla::StyleTextDecorationSkipInk", "mozilla::StyleTextDecorationLength", "mozilla::StyleMaskType", "mozilla::StyleShapeRendering", "mozilla::StyleTextAnchor", "mozilla::StyleObjectFit", "mozilla::StyleTextDecorationStyle", "mozilla::StyleTopLayer", "mozilla::StyleIsolation", "mozilla::StyleTextOrientation", "mozilla::StyleMozBoxLayout", "mozilla::StyleTextCombineUpright", "mozilla::StyleUnicodeBidi", "mozilla::StyleTableLayout", "mozilla::StyleEmptyCells", "nsStyleImageType", "nsINode_BooleanFlag", "mozilla::PseudoStyleType", "mozilla::LookAndFeel_ColorID", "mozilla::LookAndFeel_FontID", "nsStyleTransformMatrix::MatrixTransformOperator", "mozilla::StyleGeometryBox", "mozilla::SystemColor", "mozilla::StyleMaskMode", "mozilla::StyleScrollBehavior", "mozilla::StyleColorInterpolation", "mozilla::StyleVectorEffect", "mozilla::StyleBackfaceVisibility", "mozilla::StyleBlend", "mozilla::StyleMaskComposite", "mozilla::StyleWritingModeProperty", "StyleFontVariantEmoji", ] allowlist-vars = [ "NS_ATTRVALUE_.*", "NODE_.*", "ELEMENT_.*", "NS_FONT_.*", "NS_STYLE_.*", "NS_MATHML_.*", "NS_RADIUS_.*", "BORDER_COLOR_.*", "BORDER_STYLE_.*", "CSS_PSEUDO_ELEMENT_.*", "SERVO_CSS_PSEUDO_ELEMENT_FLAGS_.*", "kNameSpaceID_.*", "kGenericFont_.*", "kPresContext_.*", "nsNameSpaceManager_.*", "GECKO_IS_NIGHTLY", "NS_SAME_AS_FOREGROUND_COLOR", "mozilla::detail::gGkAtoms", "mozilla::detail::kGkAtomsArrayOffset", "mozilla::dom::SVGPathSeg_Binding::PATHSEG_.*", ] # TODO(emilio): A bunch of types here can go away once we generate bindings and # structs together. allowlist-types = [ "RawGecko.*", "RawServo.*", "ServoCssRules", "nsFontFaceRuleContainer", "Matrix4x4Components", "mozilla::ComputedKeyframeValues", "mozilla::Keyframe", "mozilla::PropertyValuePair", "mozilla::DeclarationBlockMutationClosure", "mozilla::AnimationPropertySegment", "mozilla::AnonymousCounterStyle", "mozilla::AtomArray", "mozilla::ComputedTiming", "mozilla::Matrix4x4Components", "mozilla::PreferenceSheet", "mozilla::SeenPtrs", "mozilla::ServoElementSnapshot.*", "mozilla::ComputedStyle", "mozilla::StyleSheet", "mozilla::ServoStyleSheetInner", "mozilla::ServoStyleSetSizes", "mozilla::ServoTraversalStatistics", "mozilla::css::LoaderReusableStyleSheets", "mozilla::css::SheetLoadData", "mozilla::css::SheetLoadDataHolder", "mozilla::css::SheetParsingMode", "mozilla::css::DocumentMatchingFunction", "mozilla::dom::IterationCompositeOperation", "mozilla::dom::StyleChildrenIterator", "mozilla::HalfCorner", "mozilla::ipc::ByteBuf", "mozilla::MallocSizeOf", "mozilla::OriginFlags", "mozilla::PropertyStyleAnimationValuePair", "mozilla::ServoTraversalFlags", "mozilla::StyleShapeRadius", "mozilla::StyleGrid.*", "mozilla::UpdateAnimationsTasks", "mozilla::PointerCapabilities", "mozilla::LookAndFeel", "mozilla::gfx::Float", "mozilla::gfx::FontVariation", "mozilla::gfx::FontPaletteValueSet", "mozilla::gfx::FontPaletteValueSet::PaletteValeus", "mozilla::StyleImageLayerAttachment", "gfxFontFeature", "gfxFontVariation", ".*ThreadSafe.*Holder", "AnonymousContent", "AudioContext", "DefaultDelete", "DOMIntersectionObserverEntry", "Element", "mozilla::FontSizePrefs", "FragmentOrURL", "FrameRequestCallback", "GeckoParserExtraData", "GeckoFontMetrics", "gfxFontFeatureValueSet", "GridNamedArea", "mozilla::HalfCorner", "Image", "ImageURL", "Keyframe", "mozilla::MediumFeaturesChangedResult", "nsAttrName", "nsAttrValue", "nscolor", "nsChangeHint", "nsCSSCounterDesc", "nsCSSFontDesc", "nsCSSKTableEntry", "nsCSSPropertyID", "nsCSSPropertyIDSet", "nsCSSProps", "nsCSSShadowArray", "nsCSSValue", "nsCSSValueList", "nsCSSValueList_heap", "nsCSSValuePair_heap", "nsCSSValuePairList", "nsCSSValuePairList_heap", "nsCSSValueTriplet_heap", "nsCursorImage", "nsFont", "nsAtom", "nsDynamicAtom", "nsMargin", "nsRect", "nsresult", "nsSimpleContentList", "nsSize", "nsStyleBackground", "nsStyleBorder", "nsStyleColor", "nsStyleColumn", "nsStyleContent", "nsStyleContentData", "ComputedStyle", "nsStyleCounterData", "nsStyleDisplay", "nsStyleEffects", "nsStyleFilter", "nsStyleFont", "nsStyleGradient", "nsStyleGridTemplate", "nsStyleImage", "nsStyleImageLayers", "nsStyleList", "nsStyleMargin", "nsStyleOutline", "nsStylePadding", "nsStylePage", "nsStylePosition", "nsStyleSides", "nsStyleSVG", "nsStyleSVGOpacitySource", "nsStyleSVGReset", "nsStyleTable", "nsStyleTableBorder", "nsStyleText", "nsStyleTextReset", "nsStyleUIReset", "nsStyleUnion", "nsStyleUI", "nsStyleVisibility", "nsStyleXUL", "nsTArrayHeader", "Position", "PropertyValuePair", "Runnable", "ServoAttrSnapshot", "ServoComputedData", "ServoComputedDataBorrowed", "ServoElementSnapshot", "ComputedStyleStrong", "ComputedStyleBorrowed", "ComputedStyleBorrowedOrNull", "SheetParsingMode", "StaticRefPtr", "StyleAnimation", "StyleBasicShapeType", "StyleGeometryBox", "StyleShapeSource", "StyleTransition", "ThemeWidgetType", "mozilla::UniquePtr", "mozilla::DeclarationBlock", "mozilla::DefaultDelete", "mozilla::Side", "mozilla::binding_danger::AssertAndSuppressCleanupPolicy", "mozilla::ParsingMode", "mozilla::InheritTarget", "mozilla::dom::MediaList", "mozilla::StyleRuleInclusion", "nsStyleTransformMatrix::MatrixTransformOperator", ] opaque-types = [ "mozilla::StyleThinArc", # https://github.com/rust-lang/rust-bindgen/issues/1557 "std::pair__PCCP", "std::namespace::atomic___base", "std::atomic__My_base", "std::atomic", "std::atomic___base", # We want everything but FontVariation and Float to be opaque but we don't # have negative regexes. "mozilla::gfx::(.{0,4}|.{6,12}|.{14,}|([^F][^o][^n][^t][^V][^a][^r][^i][^a][^t][^i][^o][^n])|([^F][^l][^o][^a][^t]))", "mozilla::dom::Sequence", "mozilla::SmallPointerArray", "mozilla::dom::Optional", "mozilla::dom::OwningNodeOrString_Value", "mozilla::dom::Nullable", "mozilla::external::AtomicRefCounted", "RefPtr_Proxy", "RefPtr_Proxy_member_function", "nsAutoPtr_Proxy", "nsAutoPtr_Proxy_member_function", "mozilla::detail::HashTable", # <- We should be able to remove this and # HashSet below once # https://github.com/rust-lang/rust-bindgen/pull/1515 # is available "mozilla::detail::PointerType", "mozilla::HashSet", "mozilla::Pair", "mozilla::Pair_Base", "mozilla::ScrollAxis", # <- For some reason the alignment of this is 4 # for clang. "mozilla::SeenPtrs", "mozilla::SupportsWeakPtr", "mozilla::Tuple", "SupportsWeakPtr", "mozilla::detail::WeakReference", "mozilla::WeakPtr", "nsWritingIterator_reference", "nsReadingIterator_reference", "nsTObserverArray", # <- Inherits from nsAutoTObserverArray "mozilla::DoublyLinkedList", "mozilla::SafeDoublyLinkedList", "nsTHashtable", # <- Inheriting from inner typedefs that clang # doesn't expose properly. "nsTBaseHashSet", # <- Ditto "nsBaseHashtable", "nsRefCountedHashtable", "nsClassHashtable", # <- Ditto "mozilla::dom::Document_SelectorCache", # <- Inherits from nsExpirationTracker<.., 4> "nsPIDOMWindow", # <- Takes the vtable from a template parameter, and we can't # generate it conditionally. "JS::Rooted", "mozilla::Maybe", "mozilla::Variant", "mozilla::dom::TreeOrderedArray", # AutoTArray<> "gfxSize", # <- union { struct { T width; T height; }; T components[2] }; "gfxSize_Super", # Ditto. "mozilla::StyleAnimationValue", "StyleAnimationValue", # pulls in a whole bunch of stuff we don't need in the bindings "mozilla::dom::.*Callback", # Pulls in ErrorResult and other things that # don't align properly on Linux 32-bit "mozilla::SchedulerGroup", # Non-standard-layout packing of field into superclass "mozilla::Widget.*Event", # As above "mozilla::detail::GkAtoms", # https://bugzilla.mozilla.org/show_bug.cgi?id=1517685 "mozilla::detail::ThreadLocal.*", ] # All cbindgen-types are in mod "structs::root::mozilla". # FIXME(emilio): We probably want to automate this somehow... cbindgen-types = [ { gecko = "StyleAnimationTimeline", servo = "crate::values::computed::box_::AnimationTimeline" }, { gecko = "StyleAppearance", servo = "crate::values::specified::Appearance" }, { gecko = "StyleAspectRatio", servo = "crate::values::computed::position::AspectRatio" }, { gecko = "StyleComputedFontStretchRange", servo = "crate::font_face::ComputedFontStretchRange" }, { gecko = "StyleComputedFontStyleDescriptor", servo = "crate::font_face::ComputedFontStyleDescriptor" }, { gecko = "StyleComputedFontWeightRange", servo = "crate::font_face::ComputedFontWeightRange" }, { gecko = "StyleComputedTimingFunction", servo = "crate::values::computed::easing::TimingFunction" }, { gecko = "StylePrefersContrast", servo = "crate::gecko::media_features::PrefersContrast" }, { gecko = "StyleCursorKind", servo = "crate::values::computed::ui::CursorKind" }, { gecko = "StyleDisplay", servo = "crate::values::specified::Display" }, { gecko = "StyleDisplayMode", servo = "crate::gecko::media_features::DisplayMode" }, { gecko = "StylePlatform", servo = "crate::gecko::media_features::Platform" }, { gecko = "StylePrefersColorScheme", servo = "crate::gecko::media_features::PrefersColorScheme" }, { gecko = "StyleDynamicRange", servo = "crate::gecko::media_features::DynamicRange" }, { gecko = "StyleFillRule", servo = "crate::values::generics::basic_shape::FillRule" }, { gecko = "StyleFontDisplay", servo = "crate::font_face::FontDisplay" }, { gecko = "StyleFontFaceSourceListComponent", servo = "crate::font_face::FontFaceSourceListComponent" }, { gecko = "StyleFontFaceSourceFormatKeyword", servo = "crate::font_face::FontFaceSourceFormatKeyword" }, { gecko = "StyleFontFaceSourceTechFlags", servo = "crate::font_face::FontFaceSourceTechFlags" }, { gecko = "StyleFontLanguageOverride", servo = "crate::values::computed::font::FontLanguageOverride" }, { gecko = "StyleOffsetPath", servo = "crate::values::computed::motion::OffsetPath" }, { gecko = "StyleGenericOffsetPath", servo = "crate::values::generics::motion::OffsetPath" }, { gecko = "StyleOffsetRotate", servo = "crate::values::computed::motion::OffsetRotate" }, { gecko = "StylePathCommand", servo = "crate::values::specified::svg_path::PathCommand" }, { gecko = "StyleRayFunction", servo = "crate::values::generics::motion::RayFunction" }, { gecko = "StyleUnicodeRange", servo = "cssparser::UnicodeRange" }, { gecko = "StyleOverflowWrap", servo = "crate::values::computed::OverflowWrap" }, { gecko = "StyleWordBreak", servo = "crate::values::computed::WordBreak" }, { gecko = "StyleTextJustify", servo = "crate::values::computed::TextJustify" }, { gecko = "StyleMozControlCharacterVisibility", servo = "crate::values::computed::text::MozControlCharacterVisibility" }, { gecko = "StyleLineBreak", servo = "crate::values::computed::LineBreak" }, { gecko = "StyleLineClamp", servo = "crate::values::computed::LineClamp" }, { gecko = "StyleUserSelect", servo = "crate::values::computed::UserSelect" }, { gecko = "StyleBreakBetween", servo = "crate::values::computed::BreakBetween" }, { gecko = "StyleBreakWithin", servo = "crate::values::computed::BreakWithin" }, { gecko = "StyleBorderStyle", servo = "crate::values::computed::BorderStyle" }, { gecko = "StyleOutlineStyle", servo = "crate::values::computed::OutlineStyle" }, { gecko = "StyleScrollSnapAlign", servo = "crate::values::computed::ScrollSnapAlign" }, { gecko = "StyleScrollSnapStop", servo = "crate::values::computed::ScrollSnapStop" }, { gecko = "StyleScrollSnapStrictness", servo = "crate::values::computed::ScrollSnapStrictness" }, { gecko = "StyleScrollSnapType", servo = "crate::values::computed::ScrollSnapType" }, { gecko = "StyleScrollTimelineName", servo = "crate::values::computed::ScrollTimelineName" }, { gecko = "StyleScrollAxis", servo = "crate::values::computed::ScrollAxis" }, { gecko = "StyleResize", servo = "crate::values::computed::Resize" }, { gecko = "StyleOverflowClipBox", servo = "crate::values::computed::OverflowClipBox" }, { gecko = "StyleFloat", servo = "crate::values::computed::Float" }, { gecko = "StyleClear", servo = "crate::values::computed::Clear" }, { gecko = "StyleOverscrollBehavior", servo = "crate::values::computed::OverscrollBehavior" }, { gecko = "StyleTextAlign", servo = "crate::values::computed::TextAlign" }, { gecko = "StyleTextAlignLast", servo = "crate::values::computed::text::TextAlignLast" }, { gecko = "StyleTextOverflow", servo = "crate::values::computed::TextOverflow" }, { gecko = "StyleOverflow", servo = "crate::values::computed::Overflow" }, { gecko = "StyleOverflowAnchor", servo = "crate::values::computed::OverflowAnchor" }, { gecko = "StyleTextDecorationSkipInk", servo = "crate::values::computed::TextDecorationSkipInk" }, { gecko = "StyleTextDecorationLength", servo = "crate::values::computed::TextDecorationLength" }, { gecko = "StyleRubyPosition", servo = "crate::values::computed::RubyPosition" }, { gecko = "StyleLength", servo = "crate::values::computed::CSSPixelLength" }, { gecko = "StyleLengthPercentage", servo = "crate::values::computed::LengthPercentage" }, { gecko = "StyleNonNegativeLengthPercentage", servo = "crate::values::computed::NonNegativeLengthPercentage" }, { gecko = "StyleGenericLengthPercentageOrAuto", servo = "crate::values::generics::length::LengthPercentageOrAuto" }, { gecko = "StyleGenericLengthPercentageOrNormal", servo = "crate::values::generics::length::LengthPercentageOrNormal" }, { gecko = "StyleLengthPercentageOrAuto", servo = "crate::values::computed::LengthPercentageOrAuto" }, { gecko = "StyleNonNegativeLengthPercentageOrAuto", servo = "crate::values::computed::NonNegativeLengthPercentageOrAuto" }, { gecko = "StyleRect", servo = "crate::values::generics::rect::Rect" }, { gecko = "StyleIntersectionObserverRootMargin", servo = "crate::values::specified::gecko::IntersectionObserverRootMargin" }, { gecko = "StyleGenericSize", servo = "crate::values::generics::length::Size" }, { gecko = "StyleGenericMaxSize", servo = "crate::values::generics::length::MaxSize" }, { gecko = "StyleGenericFlexBasis", servo = "crate::values::generics::flex::FlexBasis" }, { gecko = "StyleSize", servo = "crate::values::computed::Size" }, { gecko = "StyleMaxSize", servo = "crate::values::computed::MaxSize" }, { gecko = "StyleFlexBasis", servo = "crate::values::computed::FlexBasis" }, { gecko = "StylePosition", servo = "crate::values::computed::Position" }, { gecko = "StylePositionOrAuto", servo = "crate::values::computed::PositionOrAuto" }, { gecko = "StyleGenericPositionOrAuto", servo = "crate::values::generics::position::PositionOrAuto" }, { gecko = "StyleBackgroundSize", servo = "crate::values::computed::BackgroundSize" }, { gecko = "StyleGenericBackgroundSize", servo = "crate::values::generics::background::BackgroundSize" }, { gecko = "StyleBorderImageSlice", servo = "crate::values::computed::BorderImageSlice" }, { gecko = "StyleGenericLengthOrNumber", servo = "crate::values::generics::length::LengthOrNumber" }, { gecko = "StyleCSSPixelLength", servo = "crate::values::computed::length::CSSPixelLength" }, { gecko = "StyleNonNegativeLength", servo = "crate::values::computed::NonNegativeLength" }, { gecko = "StyleNonNegativeNumber", servo = "crate::values::computed::NonNegativeNumber" }, { gecko = "StyleZeroToOneNumber", servo = "crate::values::computed::ZeroToOneNumber" }, { gecko = "StylePercentage", servo = "crate::values::computed::Percentage" }, { gecko = "StylePerspective", servo = "crate::values::computed::Perspective" }, { gecko = "StyleGenericPerspective", servo = "crate::values::generics::box_::Perspective" }, { gecko = "StyleZIndex", servo = "crate::values::computed::ZIndex" }, { gecko = "StyleGenericZIndex", servo = "crate::values::generics::position::ZIndex" }, { gecko = "StyleTransformOrigin", servo = "crate::values::computed::TransformOrigin" }, { gecko = "StyleTransformStyle", servo = "crate::values::computed::TransformStyle" }, { gecko = "StyleGenericBorderRadius", servo = "crate::values::generics::border::BorderRadius" }, { gecko = "StyleLetterSpacing", servo = "crate::values::computed::text::LetterSpacing" }, { gecko = "StyleGenericLineHeight", servo = "crate::values::generics::text::LineHeight" }, { gecko = "StyleCaretColor", servo = "crate::values::computed::color::CaretColor" }, { gecko = "StyleContain", servo = "crate::values::computed::Contain" }, { gecko = "StyleContainerType", servo = "crate::values::computed::ContainerType" }, { gecko = "StyleContainerName", servo = "crate::values::computed::ContainerName" }, { gecko = "StyleRestyleHint", servo = "crate::invalidation::element::restyle_hints::RestyleHint" }, { gecko = "StyleTouchAction", servo = "crate::values::computed::TouchAction" }, { gecko = "StyleWillChange", servo = "crate::values::specified::box_::WillChange" }, { gecko = "StyleColorScheme", servo = "crate::values::specified::color::ColorScheme" }, { gecko = "StyleTextDecorationLine", servo = "crate::values::computed::TextDecorationLine" }, { gecko = "StyleMasonryAutoFlow", servo = "crate::values::specified::MasonryAutoFlow" }, { gecko = "StyleMasonryPlacement", servo = "crate::values::specified::MasonryPlacement" }, { gecko = "StyleMasonryItemOrder", servo = "crate::values::specified::MasonryItemOrder" }, { gecko = "StyleTextTransform", servo = "crate::values::computed::TextTransform" }, { gecko = "StyleTextUnderlinePosition", servo = "crate::values::computed::TextUnderlinePosition" }, { gecko = "StyleOwned", servo = "crate::gecko_bindings::sugar::ownership::Owned" }, { gecko = "StyleOwnedOrNull", servo = "crate::gecko_bindings::sugar::ownership::OwnedOrNull" }, { gecko = "StyleStrong", servo = "crate::gecko_bindings::sugar::ownership::Strong" }, { gecko = "StyleGenericFontFamily", servo = "crate::values::computed::font::GenericFontFamily" }, { gecko = "StyleGenericPosition", servo = "crate::values::generics::position::GenericPosition" }, { gecko = "StyleGenericMozImageRect", servo = "crate::values::generics::image::GenericMozImageRect" }, { gecko = "StyleGenericCounterPair", servo = "crate::values::generics::counters::GenericCounterPair" }, { gecko = "StyleGenericShapeRadius", servo = "crate::values::generics::basic_shape::GenericShapeRadius" }, { gecko = "StyleGenericClipRect", servo = "crate::values::generics::GenericClipRect" }, { gecko = "StyleGenericCursorImage", servo = "crate::values::generics::ui::GenericCursorImage" }, { gecko = "StyleFontFamily", servo = "crate::values::computed::font::FontFamily" }, { gecko = "StyleGenericFontSizeAdjust", servo = "crate::values::generics::font::GenericFontSizeAdjust" }, { gecko = "StyleFontFamilyNameSyntax", servo = "crate::values::computed::font::FontFamilyNameSyntax" }, { gecko = "StyleGenericColor", servo = "crate::values::generics::color::Color" }, { gecko = "StyleSystemColor", servo = "crate::values::specified::color::SystemColor" }, { gecko = "StyleSystemFont", servo = "crate::values::specified::font::SystemFont" }, { gecko = "StyleGenericColorOrAuto", servo = "crate::values::generics::color::ColorOrAuto" }, { gecko = "StyleGenericScrollbarColor", servo = "crate::values::generics::ui::ScrollbarColor" }, { gecko = "StyleRGBA", servo = "cssparser::RGBA" }, { gecko = "StyleOrigin", servo = "crate::stylesheets::Origin" }, { gecko = "StyleGenericVerticalAlign", servo = "crate::values::generics::box_::VerticalAlign" }, { gecko = "StyleVerticalAlignKeyword", servo = "crate::values::generics::box_::VerticalAlignKeyword" }, { gecko = "StyleGenericBasicShape", servo = "crate::values::generics::basic_shape::BasicShape" }, { gecko = "StyleArcSlice", servo = "style_traits::arc_slice::ArcSlice" }, { gecko = "StyleForgottenArcSlicePtr", servo = "style_traits::arc_slice::ForgottenArcSlicePtr" }, { gecko = "StyleOwnedSlice", servo = "style_traits::owned_slice::OwnedSlice" }, { gecko = "StyleMozContextProperties", servo = "crate::values::specified::svg::MozContextProperties" }, { gecko = "StyleQuotes", servo = "crate::values::specified::list::Quotes" }, { gecko = "StyleOwnedStr", servo = "style_traits::owned_str::OwnedStr" }, { gecko = "StyleGenericBoxShadow", servo = "crate::values::generics::effects::BoxShadow" }, { gecko = "StyleGenericSimpleShadow", servo = "crate::values::generics::effects::SimpleShadow" }, { gecko = "StyleGenericTransformOperation", servo = "crate::values::generics::transform::TransformOperation" }, { gecko = "StyleGenericTransform", servo = "crate::values::generics::transform::Transform" }, { gecko = "StyleGenericScale", servo = "crate::values::generics::transform::Scale" }, { gecko = "StyleGenericRotate", servo = "crate::values::generics::transform::Rotate" }, { gecko = "StyleGenericTranslate", servo = "crate::values::generics::transform::Translate" }, { gecko = "StyleAngle", servo = "crate::values::computed::Angle" }, { gecko = "StyleGenericBorderImageSideWidth", servo = "crate::values::generics::border::BorderImageSideWidth" }, { gecko = "StyleGenericUrlOrNone", servo = "crate::values::generics::url::UrlOrNone" }, { gecko = "StyleGenericCalcNode", servo = "crate::values::generics::calc::GenericCalcNode" }, { gecko = "StyleCssUrl", servo = "crate::gecko::url::CssUrl" }, { gecko = "StyleSpecifiedUrl", servo = "crate::gecko::url::SpecifiedUrl" }, { gecko = "StyleSpecifiedImageUrl", servo = "crate::gecko::url::SpecifiedImageUrl" }, { gecko = "StyleComputedUrl", servo = "crate::gecko::url::ComputedUrl" }, { gecko = "StyleComputedImageUrl", servo = "crate::gecko::url::ComputedImageUrl" }, { gecko = "StyleLoadData", servo = "crate::gecko::url::LoadData" }, { gecko = "StyleGenericFilter", servo = "crate::values::generics::effects::Filter" }, { gecko = "StyleGenericGradient", servo = "crate::values::generics::image::Gradient" }, { gecko = "StyleLineDirection", servo = "crate::values::computed::image::LineDirection" }, { gecko = "StyleGridTemplateAreas", servo = "crate::values::computed::position::GridTemplateAreas" }, { gecko = "StyleGenericGridLine", servo = "crate::values::generics::grid::GridLine" }, { gecko = "StyleGenericTrackSize", servo = "crate::values::generics::grid::TrackSize" }, { gecko = "StyleGenericTrackBreadth", servo = "crate::values::generics::grid::TrackBreadth" }, { gecko = "StyleGenericImplicitGridTracks", servo = "crate::values::generics::grid::ImplicitGridTracks" }, { gecko = "StyleImplicitGridTracks", servo = "crate::values::computed::ImplicitGridTracks" }, { gecko = "StyleNumberOrPercentage", servo = "crate::values::computed::NumberOrPercentage" }, { gecko = "StyleGenericSVGPaint", servo = "crate::values::generics::svg::SVGPaint" }, { gecko = "StyleGenericTrackRepeat", servo = "crate::values::generics::grid::TrackRepeat" }, { gecko = "StyleGenericTrackListValue", servo = "crate::values::generics::grid::TrackListValue" }, { gecko = "StyleGenericTrackList", servo = "crate::values::generics::grid::TrackList" }, { gecko = "StyleGenericGridTemplateComponent", servo = "crate::values::generics::grid::GridTemplateComponent" }, { gecko = "StyleTextEmphasisStyle", servo = "crate::values::computed::text::TextEmphasisStyle" }, { gecko = "StyleTextEmphasisPosition", servo = "crate::values::computed::TextEmphasisPosition" }, { gecko = "StyleFontVariantAlternates", servo = "crate::values::specified::font::FontVariantAlternates" }, { gecko = "StyleSVGPaintOrder", servo = "crate::values::specified::svg::SVGPaintOrder" }, { gecko = "StyleClipRectOrAuto", servo = "crate::values::computed::ClipRectOrAuto" }, { gecko = "StyleCounterReset", servo = "crate::values::computed::CounterReset" }, { gecko = "StyleCounterSet", servo = "crate::values::computed::CounterSet" }, { gecko = "StyleCounterIncrement", servo = "crate::values::computed::CounterIncrement" }, { gecko = "StyleContent", servo = "crate::values::computed::counters::Content" }, { gecko = "StyleSymbolsType", servo = "crate::values::generics::SymbolsType" }, { gecko = "StyleCounterStyle", servo = "crate::values::generics::CounterStyle" }, { gecko = "StyleComputedJustifyItems", servo = "crate::values::computed::align::ComputedJustifyItems" }, { gecko = "StyleAlignItems", servo = "crate::values::computed::AlignItems" }, { gecko = "StyleJustifySelf", servo = "crate::values::computed::JustifySelf" }, { gecko = "StyleAlignSelf", servo = "crate::values::computed::AlignSelf" }, { gecko = "StyleAlignContent", servo = "crate::values::computed::align::AlignContent" }, { gecko = "StyleJustifyTracks", servo = "crate::values::computed::align::JustifyTracks" }, { gecko = "StyleAlignTracks", servo = "crate::values::computed::align::AlignTracks" }, { gecko = "StyleJustifyContent", servo = "crate::values::computed::align::JustifyContent" }, { gecko = "StyleComputedValueFlags", servo = "crate::computed_value_flags::ComputedValueFlags" }, { gecko = "StyleImage", servo = "crate::values::computed::Image" }, { gecko = "StyleShapeOutside", servo = "crate::values::computed::basic_shape::ShapeOutside" }, { gecko = "StyleClipPath", servo = "crate::values::computed::basic_shape::ClipPath" }, { gecko = "StyleGridAutoFlow", servo = "crate::values::computed::GridAutoFlow" }, { gecko = "StyleCursor", servo = "crate::values::computed::Cursor" }, { gecko = "StyleSVGStrokeDashArray", servo = "crate::values::computed::svg::SVGStrokeDashArray" }, { gecko = "StyleSVGWidth", servo = "crate::values::computed::svg::SVGWidth" }, { gecko = "StyleSVGOpacity", servo = "crate::values::computed::svg::SVGOpacity" }, { gecko = "StyleSVGLength", servo = "crate::values::computed::svg::SVGLength" }, { gecko = "StyleFontSizeKeyword", servo = "crate::values::specified::font::FontSizeKeyword" }, { gecko = "StyleCaptionSide", servo = "crate::values::computed::table::CaptionSide" }, { gecko = "StylePageName", servo = "crate::values::specified::page::PageName" }, { gecko = "StylePageSize", servo = "crate::values::computed::page::PageSize" }, { gecko = "StyleDProperty", servo = "crate::values::specified::svg::DProperty" }, { gecko = "StyleImageRendering", servo = "crate::values::computed::ImageRendering" }, { gecko = "StylePrintColorAdjust", servo = "crate::values::computed::PrintColorAdjust" }, { gecko = "StyleScrollbarGutter", servo = "crate::values::computed::ScrollbarGutter" }, { gecko = "StyleHyphenateCharacter", servo = "crate::values::computed::HyphenateCharacter" }, { gecko = "StyleContentVisibility", servo = "crate::values::computed::ContentVisibility" }, { gecko = "StyleContainIntrinsicSize", servo = "crate::values::computed::ContainIntrinsicSize" }, { gecko = "StyleFontStyle", servo = "crate::values::computed::font::FontStyle" }, { gecko = "StyleFontWeight", servo = "crate::values::computed::font::FontWeight" }, { gecko = "StyleFontStretch", servo = "crate::values::computed::font::FontStretch" }, { gecko = "StyleFontPalette", servo = "crate::values::computed::font::FontPalette" }, { gecko = "StyleBoolInteger", servo = "crate::values::computed::BoolInteger" }, ] mapped-generic-types = [ { generic = true, gecko = "mozilla::RustCell", servo = "::std::cell::Cell" }, { generic = false, gecko = "ServoNodeData", servo = "atomic_refcell::AtomicRefCell" }, { generic = false, gecko = "mozilla::ServoWritingMode", servo = "crate::logical_geometry::WritingMode" }, { generic = false, gecko = "mozilla::ServoCustomPropertiesMap", servo = "Option>" }, { generic = false, gecko = "mozilla::ServoRuleNode", servo = "Option" }, { generic = false, gecko = "mozilla::ServoVisitedStyle", servo = "Option>" }, { generic = true, gecko = "mozilla::ServoRawOffsetArc", servo = "servo_arc::RawOffsetArc" }, { generic = true, gecko = "mozilla::ServoManuallyDrop", servo = "::std::mem::ManuallyDrop" }, { generic = false, gecko = "nsACString", servo = "nsstring::nsACString" }, { generic = false, gecko = "nsAString", servo = "nsstring::nsAString" }, { generic = false, gecko = "nsCString", servo = "nsstring::nsCString" }, { generic = false, gecko = "nsString", servo = "nsstring::nsString" }, ] allowlist-functions = ["Servo_.*", "Gecko_.*"]