gecko-dev/layout/style/ServoBindings.toml

601 строка
29 KiB
TOML

[structs]
headers = [
"nsStyleStruct.h",
"mozilla/StyleAnimationValue.h",
"gfxFontConstants.h",
"gfxFontFeatures.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/ShadowRoot.h",
"mozilla/ipc/ByteBuf.h",
"mozilla/AnimationPropertySegment.h",
"mozilla/ComputedTiming.h",
"mozilla/ComputedTimingFunction.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/ServoTraversalStatistics.h",
"mozilla/SizeOfState.h",
"nsCSSProps.h",
"nsContentUtils.h",
"nsNameSpaceManager.h",
"nsMediaFeatures.h",
"GeckoProfiler.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",
# https://github.com/rust-lang/rust-bindgen/issues/1503
"mozilla::StyleTimingFunction.*",
# https://github.com/rust-lang/rust-bindgen/issues/1559
"mozilla::StyleGenericTransformOperation_.*",
]
bitfield-enums = [
"nsChangeHint",
"mozilla::OriginFlags",
"mozilla::StyleTextUnderlinePosition",
]
rusty-enums = [
"nsCompatibility",
"mozilla::EffectCompositor_CascadeLevel",
"mozilla::SheetType",
"mozilla::dom::CallerType",
"mozilla::dom::IterationCompositeOperation",
"mozilla::dom::CompositeOperation",
"mozilla::InheritTarget",
"mozilla::css::DocumentMatchingFunction",
"mozilla::css::SheetParsingMode",
"nsStyleSVGOpacitySource",
"mozilla::dom::Document_DocumentTheme",
"mozilla::dom::Document_Type",
"nsCSSUnit",
"nsCSSFontDesc",
"nsCSSPropertyID",
"nsCSSCounterDesc",
"nsMediaFeature_RangeType",
"nsMediaFeature_ValueType",
"nsresult",
"nsAtom_AtomKind",
"nsStyleImageLayers_LayerType",
"mozilla::ServoElementSnapshotFlags",
"mozilla::Side",
"mozilla::dom::PlaybackDirection",
"mozilla::dom::FillMode",
"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::StyleImageRendering",
"mozilla::StyleInert",
"mozilla::StyleUserModify",
"mozilla::StyleUserInput",
"mozilla::StyleBoxDirection",
"mozilla::StyleTextJustify",
"mozilla::StyleRubyAlign",
"mozilla::StyleTextSizeAdjust",
"mozilla::StyleHyphens",
"mozilla::StyleRubyPosition",
"mozilla::StyleShapeSourceType",
"mozilla::StyleVisibility",
"mozilla::StyleBasicShapeType",
"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::StylePointerEvents",
"mozilla::StyleScrollbarWidth",
"mozilla::StyleWhiteSpace",
"mozilla::StyleTextRendering",
"mozilla::StyleColorAdjust",
"mozilla::StyleFlexDirection",
"mozilla::StyleStrokeLinecap",
"mozilla::StyleStrokeLinejoin",
"mozilla::StyleFlexWrap",
"mozilla::StyleTextDecorationSkipInk",
"mozilla::StyleTextDecorationLength",
"mozilla::StyleMaskType",
"mozilla::StyleShapeRendering",
"mozilla::StyleTextAnchor",
"mozilla::StyleObjectFit",
"mozilla::StyleTopLayer",
"mozilla::StyleIsolation",
"mozilla::StyleTextOrientation",
"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::StyleControlCharacterVisibility",
"mozilla::StyleWritingModeProperty",
]
whitelist-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_.*",
"nsContentUtils_.*",
"GECKO_IS_NIGHTLY",
"mozilla::detail::gGkAtoms",
"mozilla::detail::kGkAtomsArrayOffset",
"mozilla::profiler::detail::RacyFeatures::sActiveAndFeatures",
]
# TODO(emilio): A bunch of types here can go away once we generate bindings and
# structs together.
whitelist-types = [
"RawGecko.*",
"RawServo.*",
"ServoCssRules",
"nsFontFaceRuleContainer",
"Matrix4x4Components",
"mozilla::ComputedKeyframeValues",
"mozilla::Keyframe",
"mozilla::PropertyValuePair",
"mozilla::DeclarationBlockMutationClosure",
"mozilla::AnimationPropertySegment",
"mozilla::AnonymousCounterStyle",
"mozilla::AtomArray",
"mozilla::ComputedTiming",
"mozilla::ComputedTimingFunction",
"mozilla::ComputedTimingFunction::BeforeFlag",
"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::StyleImageLayerAttachment",
"gfxFontFeature",
"gfxFontVariation",
".*ThreadSafe.*Holder",
"AnonymousContent",
"AudioContext",
"DefaultDelete",
"DOMIntersectionObserverEntry",
"Element",
"FontFamilyList",
"FontFamilyName",
"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",
"nsMediaFeature",
"nsMediaFeatures",
"nsRect",
"nsresult",
"nsSimpleContentList",
"nsSize",
"nsStyleBackground",
"nsStyleBorder",
"nsStyleColor",
"nsStyleColumn",
"nsStyleContent",
"nsStyleContentData",
"ComputedStyle",
"nsStyleCounterData",
"nsStyleDisplay",
"nsStyleEffects",
"nsStyleFilter",
"nsStyleFont",
"nsStyleGradient",
"nsStyleGridTemplate",
"nsStyleImage",
"nsStyleImageLayers",
"nsStyleList",
"nsStyleMargin",
"nsStyleOutline",
"nsStylePadding",
"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",
"mozilla::profiler::detail::RacyFeatures",
]
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<T, 0>
"nsTHashtable", # <- Inheriting from inner typedefs that clang
# doesn't expose properly.
"nsBaseHashtable", "nsRefPtrHashtable", "nsDataHashtable", "nsClassHashtable", # <- Ditto
"nsInterfaceHashtable", # <- 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",
"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::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 = "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 = "StyleContrastPref", servo = "crate::gecko::media_features::ContrastPref" },
{ gecko = "StyleCursorKind", servo = "crate::values::computed::ui::CursorKind" },
{ gecko = "StyleDisplay", servo = "crate::values::specified::Display" },
{ gecko = "StyleDisplayMode", servo = "crate::gecko::media_features::DisplayMode" },
{ gecko = "StylePrefersColorScheme", servo = "crate::gecko::media_features::PrefersColorScheme" },
{ gecko = "StyleExtremumLength", servo = "crate::values::computed::length::ExtremumLength" },
{ gecko = "StyleFillRule", servo = "crate::values::generics::basic_shape::FillRule" },
{ gecko = "StyleFontDisplay", servo = "crate::font_face::FontDisplay" },
{ gecko = "StyleFontFaceSourceListComponent", servo = "crate::font_face::FontFaceSourceListComponent" },
{ 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 = "StyleLineBreak", servo = "crate::values::computed::LineBreak" },
{ 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 = "StyleScrollSnapStrictness", servo = "crate::values::computed::ScrollSnapStrictness" },
{ gecko = "StyleScrollSnapType", servo = "crate::values::computed::ScrollSnapType" },
{ gecko = "StyleResize", servo = "crate::values::computed::Resize" },
{ gecko = "StyleOverflowClipBox", servo = "crate::values::computed::OverflowClipBox" },
{ gecko = "StyleFloat", servo = "crate::values::computed::Float" },
{ 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 = "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 = "StyleContain", servo = "crate::values::computed::Contain" },
{ 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 = "StyleTextDecorationLine", servo = "crate::values::computed::TextDecorationLine" },
{ gecko = "StyleTextTransform", servo = "crate::values::computed::TextTransform" },
{ gecko = "StyleTextUnderlinePosition", servo = "crate::values::computed::TextUnderlinePosition" },
{ gecko = "StyleMozListReversed", servo = "crate::values::computed::MozListReversed" },
{ 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 = "StyleFontFamilyNameSyntax", servo = "crate::values::computed::font::FontFamilyNameSyntax" },
{ gecko = "StyleGenericColor", servo = "crate::values::generics::color::Color" },
{ gecko = "StyleSystemColor", servo = "crate::values::specified::color::SystemColor" },
{ 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 = "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 = "StyleVariantAlternatesList", servo = "crate::values::specified::font::VariantAlternatesList" },
{ gecko = "StyleSVGPaintOrder", servo = "crate::values::specified::svg::SVGPaintOrder" },
{ gecko = "StyleClipRectOrAuto", servo = "crate::values::computed::ClipRectOrAuto" },
{ gecko = "StyleCounterSetOrReset", servo = "crate::values::computed::CounterSetOrReset" },
{ 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 = "StyleDefaultFontSizes", servo = "crate::gecko::wrapper::DefaultFontSizes" },
]
mapped-generic-types = [
{ generic = true, gecko = "mozilla::RustCell", servo = "::std::cell::Cell" },
{ generic = false, gecko = "ServoNodeData", servo = "atomic_refcell::AtomicRefCell<crate::data::ElementData>" },
{ generic = false, gecko = "mozilla::ServoWritingMode", servo = "crate::logical_geometry::WritingMode" },
{ generic = false, gecko = "mozilla::ServoCustomPropertiesMap", servo = "Option<servo_arc::Arc<crate::custom_properties::CustomPropertiesMap>>" },
{ generic = false, gecko = "mozilla::ServoRuleNode", servo = "Option<crate::rule_tree::StrongRuleNode>" },
{ generic = false, gecko = "mozilla::ServoVisitedStyle", servo = "Option<servo_arc::RawOffsetArc<crate::properties::ComputedValues>>" },
{ 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" },
]
whitelist-functions = ["Servo_.*", "Gecko_.*"]