summaryrefslogtreecommitdiffstats
path: root/layout/style/ServoBindings.toml
diff options
context:
space:
mode:
Diffstat (limited to 'layout/style/ServoBindings.toml')
-rw-r--r--layout/style/ServoBindings.toml601
1 files changed, 601 insertions, 0 deletions
diff --git a/layout/style/ServoBindings.toml b/layout/style/ServoBindings.toml
new file mode 100644
index 0000000000..80946b5c49
--- /dev/null
+++ b/layout/style/ServoBindings.toml
@@ -0,0 +1,601 @@
+[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/PresShell.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_.*"]