tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

ServoBindings.toml (40065B)


      1 [structs]
      2 headers = [
      3    "nsStyleStruct.h",
      4    "mozilla/StyleAnimationValue.h",
      5    "nsStyleConsts.h",
      6    "nsCSSValue.h",
      7    "mozilla/CSSPropertyId.h",
      8    "mozilla/css/SheetLoadData.h",
      9    "mozilla/DeclarationBlock.h",
     10    "mozilla/dom/HTMLSlotElement.h",
     11    "mozilla/dom/KeyframeEffectBinding.h",
     12    "mozilla/dom/MediaList.h",
     13    "mozilla/dom/ShadowRoot.h",
     14    "mozilla/gfx/FontFeature.h",
     15    "mozilla/AnimationPropertySegment.h",
     16    "mozilla/ComputedTiming.h",
     17    "mozilla/CORSMode.h",
     18    "mozilla/Keyframe.h",
     19    "mozilla/ServoElementSnapshot.h",
     20    "mozilla/ServoElementSnapshotTable.h",
     21    "mozilla/dom/Element.h",
     22    "mozilla/dom/ChildIterator.h",
     23    "mozilla/dom/NameSpaceConstants.h",
     24    "mozilla/LookAndFeel.h",
     25    "mozilla/GeckoBindings.h",
     26    "mozilla/ServoBindings.h",
     27    "mozilla/ComputedStyle.h",
     28    "mozilla/PresShell.h",
     29    "mozilla/ServoTraversalStatistics.h",
     30    "mozilla/SizeOfState.h",
     31    "nsDeviceContext.h",
     32    "nsCSSProps.h",
     33    "nsNameSpaceManager.h",
     34 ]
     35 raw-lines = [
     36    # FIXME(emilio): Incrementally remove these "pub use"s. Probably
     37    # mozilla::css and mozilla::dom are easier.
     38    "#[allow(unknown_lints, ambiguous_glob_reexports)]",
     39    "pub use self::root::*;",
     40    "pub use self::root::mozilla::*;",
     41    "pub use self::root::mozilla::css::*;",
     42    "pub use self::root::mozilla::dom::*;",
     43 ]
     44 hide-types = [
     45    ".*char_traits",
     46    ".*incompatible_char_type",
     47    ".*string_view",
     48    # https://github.com/rust-lang/rust-bindgen/issues/1503
     49    "mozilla::StyleTimingFunction.*",
     50    # https://github.com/rust-lang/rust-bindgen/issues/1559
     51    "mozilla::StyleGeneric.*",
     52    "nsTArray_.*",
     53    ".*ErrorResult.*",
     54 ]
     55 bitfield-enums = [
     56    "nsChangeHint",
     57    "mozilla::OriginFlags",
     58    "NodeSelectorFlags",
     59 ]
     60 rusty-enums = [
     61    "nsCompatibility",
     62    "mozilla::EffectCompositor_CascadeLevel",
     63    "mozilla::SheetType",
     64    "mozilla::dom::CallerType",
     65    "mozilla::dom::IterationCompositeOperation",
     66    "mozilla::dom::CompositeOperation",
     67    "mozilla::dom::CompositeOperationOrAuto",
     68    "mozilla::InheritTarget",
     69    "mozilla::css::DocumentMatchingFunction",
     70    "mozilla::css::SheetParsingMode",
     71    "nsStyleSVGOpacitySource",
     72    "mozilla::dom::Document_DocumentTheme",
     73    "mozilla::dom::Document_Type",
     74    "mozilla::LookAndFeel_IntID",
     75    "mozilla::LookAndFeel_FloatID",
     76    "nsCSSUnit",
     77    "nsCSSFontDesc",
     78    "NonCustomCSSPropertyId",
     79    "nsCSSCounterDesc",
     80    "nsresult",
     81    "nsAtom_AtomKind",
     82    "nsStyleImageLayers_LayerType",
     83    "mozilla::ServoElementSnapshotFlags",
     84    "mozilla::Side",
     85    "mozilla::dom::PlaybackDirection",
     86    "mozilla::dom::FillMode",
     87    "mozilla::HalfCorner",
     88    "mozilla::StyleFloatEdge",
     89    "mozilla::StyleShapeRadius",
     90    "mozilla::StyleWindowDragging",
     91    "mozilla::StyleAnimationPlayState",
     92    "mozilla::StyleOrient",
     93    "mozilla::StyleBoxSizing",
     94    "mozilla::StyleClear",
     95    "mozilla::StyleColumnFill",
     96    "mozilla::StyleColumnSpan",
     97    "mozilla::StyleDirection",
     98    "mozilla::StyleFloat",
     99    "mozilla::StyleImageOrientation",
    100    "mozilla::StyleBoxDirection",
    101    "mozilla::StyleRubyAlign",
    102    "mozilla::StyleTextSecurity",
    103    "mozilla::StyleTextSizeAdjust",
    104    "mozilla::StyleHyphens",
    105    "mozilla::StyleRubyPosition",
    106    "mozilla::StyleShapeSourceType",
    107    "mozilla::StyleVisibility",
    108    "mozilla::StyleMathStyle",
    109    "mozilla::StyleMathShift",
    110    "nsStyleImageLayers_Size_DimensionType",
    111    "mozilla::StyleBorderCollapse",
    112    "mozilla::StyleBoxPack",
    113    "mozilla::StyleWindowShadow",
    114    "mozilla::StyleDominantBaseline",
    115    "mozilla::StyleBoxOrient",
    116    "mozilla::StyleBoxAlign",
    117    "mozilla::StyleImageLayerRepeat",
    118    "mozilla::StyleImageLayerAttachment",
    119    "mozilla::StyleBoxDecorationBreak",
    120    "mozilla::StyleBorderStyle",
    121    "mozilla::StyleRuleInclusion",
    122    "mozilla::StyleGridTrackBreadth",
    123    "mozilla::StyleOverscrollBehavior",
    124    "mozilla::StyleImeMode",
    125    "mozilla::StyleOverflowAnchor",
    126    "mozilla::StyleListStylePosition",
    127    "mozilla::StyleScrollbarWidth",
    128    "mozilla::StyleFieldSizing",
    129    "mozilla::StyleWhiteSpaceCollapse",
    130    "mozilla::StyleTextWrapMode",
    131    "mozilla::StyleTextRendering",
    132    "mozilla::StyleFlexDirection",
    133    "mozilla::StyleStrokeLinecap",
    134    "mozilla::StyleStrokeLinejoin",
    135    "mozilla::StyleFlexWrap",
    136    "mozilla::StyleMathVariant",
    137    "mozilla::StyleTextDecorationSkipInk",
    138    "mozilla::StyleTextDecorationLength",
    139    "mozilla::StyleTextDecorationInset",
    140    "mozilla::StyleMaskType",
    141    "mozilla::StyleShapeRendering",
    142    "mozilla::StyleTextAnchor",
    143    "mozilla::StyleObjectFit",
    144    "mozilla::StyleTextDecorationStyle",
    145    "mozilla::StyleTopLayer",
    146    "mozilla::StyleIsolation",
    147    "mozilla::StyleTextOrientation",
    148    "mozilla::StyleMozBoxCollapse",
    149    "mozilla::StyleMozBoxLayout",
    150    "mozilla::StyleTextCombineUpright",
    151    "mozilla::StyleUnicodeBidi",
    152    "mozilla::StyleTableLayout",
    153    "mozilla::StyleEmptyCells",
    154    "nsStyleImageType",
    155    "nsINode_BooleanFlag",
    156    "mozilla::PseudoStyleType",
    157    "mozilla::LookAndFeel_ColorID",
    158    "mozilla::LookAndFeel_FontID",
    159    "mozilla::StyleGeometryBox",
    160    "mozilla::SystemColor",
    161    "mozilla::StyleMaskMode",
    162    "mozilla::StyleScrollBehavior",
    163    "mozilla::StyleColorInterpolation",
    164    "mozilla::StyleBackfaceVisibility",
    165    "mozilla::StyleBlend",
    166    "mozilla::StyleMaskComposite",
    167    "mozilla::StyleWritingModeProperty",
    168    "mozilla::StyleTextWrapStyle",
    169    "StyleFontVariantEmoji",
    170 ]
    171 allowlist-vars = [
    172    "NS_ATTRVALUE_.*",
    173    "NODE_.*",
    174    "ELEMENT_.*",
    175    "NS_FONT_.*",
    176    "CSS_PSEUDO_ELEMENT_.*",
    177    "SERVO_CSS_PSEUDO_ELEMENT_FLAGS_.*",
    178    "kNameSpaceID_.*",
    179    "nsNameSpaceManager_.*",
    180    "GECKO_IS_NIGHTLY",
    181    "NS_SAME_AS_FOREGROUND_COLOR",
    182    "mozilla::detail::gGkAtoms",
    183 ]
    184 # TODO(emilio): A bunch of types here can go away once we generate bindings and
    185 # structs together.
    186 allowlist-types = [
    187    "nsCSSUnit",
    188    "nsFontFaceRuleContainer",
    189    "mozilla::ComputedKeyframeValues",
    190    "mozilla::Keyframe",
    191    "mozilla::PropertyValuePair",
    192    "mozilla::DeclarationBlockMutationClosure",
    193    "mozilla::CSSPropertyId",
    194    "mozilla::AnimationPropertySegment",
    195    "mozilla::AtomArray",
    196    "mozilla::ComputedTiming",
    197    "mozilla::Matrix4x4Components",
    198    "mozilla::PreferenceSheet",
    199    "mozilla::SeenPtrs",
    200    "mozilla::ServoElementSnapshot.*",
    201    "mozilla::ComputedStyle",
    202    "mozilla::StyleSheet",
    203    "mozilla::ServoStyleSetSizes",
    204    "mozilla::ServoTraversalStatistics",
    205    "mozilla::css::LoaderReusableStyleSheets",
    206    "mozilla::css::SheetLoadData",
    207    "mozilla::css::SheetLoadDataHolder",
    208    "mozilla::css::SheetParsingMode",
    209    "mozilla::css::DocumentMatchingFunction",
    210    "mozilla::dom::IterationCompositeOperation",
    211    "mozilla::dom::StyleChildrenIterator",
    212    "mozilla::HalfCorner",
    213    "mozilla::MallocSizeOf",
    214    "mozilla::OriginFlags",
    215    "mozilla::PropertyStyleAnimationValuePair",
    216    "mozilla::ServoTraversalFlags",
    217    "mozilla::StyleShapeRadius",
    218    "mozilla::StyleGrid.*",
    219    "mozilla::UpdateAnimationsTasks",
    220    "mozilla::PointerCapabilities",
    221    "mozilla::LookAndFeel",
    222    "mozilla::gfx::FontFeature",
    223    "mozilla::gfx::FontVariation",
    224    "mozilla::gfx::FontPaletteValueSet",
    225    "mozilla::StyleImageLayerAttachment",
    226    "GeckoFontMetrics",
    227    "GeckoImplicitShadowRoot",
    228    "gfxFontFeatureValueSet",
    229    "mozilla::HalfCorner",
    230    "Image",
    231    "mozilla::MediumFeaturesChangedResult",
    232    "nsAttrName",
    233    "nsAttrValue",
    234    "MiscContainer",
    235    "nscolor",
    236    "nsChangeHint",
    237    "nsCSSCounterDesc",
    238    "nsCSSFontDesc",
    239    "nsCSSKTableEntry",
    240    "NonCustomCSSPropertyId",
    241    "nsCSSPropertyIDSet",
    242    "nsCSSProps",
    243    "nsFont",
    244    "nsAtom",
    245    "nsDynamicAtom",
    246    "nsMargin",
    247    "nsRect",
    248    "nsresult",
    249    "nsSimpleContentList",
    250    "nsSize",
    251    "nsStyleBackground",
    252    "nsStyleBorder",
    253    "nsStyleColumn",
    254    "nsStyleContent",
    255    "nsStyleDisplay",
    256    "nsStyleEffects",
    257    "nsStyleFont",
    258    "nsStyleImageLayers",
    259    "nsStyleList",
    260    "nsStyleMargin",
    261    "nsStyleOutline",
    262    "nsStylePadding",
    263    "nsStylePage",
    264    "nsStylePosition",
    265    "nsStyleSVG",
    266    "nsStyleSVGReset",
    267    "nsStyleTable",
    268    "nsStyleTableBorder",
    269    "nsStyleText",
    270    "nsStyleTextReset",
    271    "nsStyleUIReset",
    272    "nsStyleUI",
    273    "nsStyleVisibility",
    274    "nsStyleXUL",
    275    "mozilla::UniquePtr",
    276    "mozilla::DeclarationBlock",
    277    "mozilla::DefaultDelete",
    278    "mozilla::Side",
    279    "mozilla::binding_danger::AssertAndSuppressCleanupPolicy",
    280    "mozilla::InheritTarget",
    281    "mozilla::dom::MediaList",
    282    "mozilla::StyleRuleInclusion",
    283    "NodeSelectorFlags",
    284    "AnchorPosResolutionParams",
    285    "AnchorPosOffsetResolutionParams",
    286 ]
    287 opaque-types = [
    288    "mozilla::StyleThinArc", # https://github.com/rust-lang/rust-bindgen/issues/1557
    289    "mozilla::gfx::.*Point",
    290    "mozilla::gfx::.*Rect",
    291    "mozilla::gfx::.*Size",
    292    "mozilla::gfx::.*Margin",
    293    "mozilla::gfx::.*Matrix",
    294    "mozilla::gfx::.*Typed",
    295    "mozilla::gfx::Matrix4x4TypedFlagged",
    296    "mozilla::gfx::DrawTarget",
    297    "mozilla::TouchManager",
    298    "mozilla::UniquePtr",
    299    "mozilla::CanvasUsage",
    300    "std::pair__PCCP",
    301    "std::namespace::atomic___base", "std::atomic__My_base",
    302    "std::atomic",
    303    "std::.*::atomic",
    304    "std::atomic___base",
    305    "std::function",
    306    "std::tuple.*", # Causes "Cannot find type _Pred in this scope" error on mac, like rust-skia#571
    307    "std::.*::tuple.*",
    308    "std::unique_ptr.*",
    309    "std::.*::unique_ptr.*",
    310    "mozilla::dom::FrameRequestManager",
    311    "mozilla::dom::Touch",
    312    "mozilla::dom::Sequence",
    313    "mozilla::SmallPointerArray",
    314    "mozilla::SmallPointerArray_Element",
    315    "mozilla::dom::Optional",
    316    "mozilla::dom::OwningNodeOrString_Value",
    317    "mozilla::dom::Nullable",
    318    "mozilla::external::AtomicRefCounted",
    319    "RefPtr_Proxy",
    320    "RefPtr_Proxy_member_function",
    321    "nsAutoPtr_Proxy",
    322    "nsAutoPtr_Proxy_member_function",
    323    "nsRegion_.*",
    324    "mozilla::detail::HashTable", # <- We should be able to remove this and
    325                                  # HashSet below once
    326                                  # https://github.com/rust-lang/rust-bindgen/pull/1515
    327                                  # is available
    328    "mozilla::detail::PointerType",
    329    "mozilla::HashMap",
    330    "mozilla::HashSet",
    331    "mozilla::ScrollAxis",  # <- For some reason the alignment of this is 4
    332                            # for clang.
    333    "mozilla::SeenPtrs",
    334    "mozilla::SupportsWeakPtr",
    335    "SupportsWeakPtr",
    336    "mozilla::detail::WeakReference",
    337    "mozilla::WeakPtr",
    338    "nsWritingIterator_reference", "nsReadingIterator_reference",
    339    "nsTObserverArray",  # <- Inherits from nsAutoTObserverArray<T, 0>
    340    "mozilla::DoublyLinkedList",
    341    "mozilla::SafeDoublyLinkedList",
    342    "nsTHashtable",  # <- Inheriting from inner typedefs that clang
    343                     #    doesn't expose properly.
    344    "nsTBaseHashSet", # <- Ditto
    345    "nsBaseHashtable", "nsRefCountedHashtable", "nsClassHashtable",  # <- Ditto
    346    "mozilla::dom::Document_SelectorCache",  # <- Inherits from nsExpirationTracker<.., 4>
    347    "nsPIDOMWindow",  # <- Takes the vtable from a template parameter, and we can't
    348                      #    generate it conditionally.
    349    "JS::Rooted",
    350    "mozilla::Maybe",
    351    "mozilla::Variant",
    352    "mozilla::dom::TreeOrderedArray", # AutoTArray<>
    353    "mozilla::dom::RequestCallbackManager", # AutoTArray<>
    354    "gfxSize",  # <- union { struct { T width; T height; }; T components[2] };
    355    "gfxSize_Super",  # Ditto.
    356    "StyleAnimationValue", # pulls in a whole bunch of stuff we don't need in the bindings
    357    "mozilla::dom::.*Callback", # Pulls in ErrorResult and other things that
    358                                # don't align properly on Linux 32-bit
    359    "mozilla::SchedulerGroup", # Non-standard-layout packing of field into superclass
    360    "mozilla::Widget.*Event", # As above
    361    "mozilla::detail::ThreadLocal.*",
    362    "std::make_signed_t",
    363    "mozilla::ProfileChunkedBuffer",
    364 ]
    365 
    366 # All cbindgen-types are in mod "structs::root::mozilla".
    367 # FIXME(emilio): We probably want to automate this somehow...
    368 cbindgen-types = [
    369    { gecko = "StyleAnimationIterationCount", servo = "crate::values::computed::AnimationIterationCount" },
    370    { gecko = "StyleAnimationTimeline", servo = "crate::values::computed::AnimationTimeline" },
    371    { gecko = "StyleTransitionBehavior", servo = "crate::values::computed::TransitionBehavior" },
    372    { gecko = "StyleAppearance", servo = "crate::values::specified::Appearance" },
    373    { gecko = "StyleAspectRatio", servo = "crate::values::computed::position::AspectRatio" },
    374    { gecko = "StyleAtom", servo = "crate::Atom" },
    375    { gecko = "StyleCustomIdent", servo = "crate::values::CustomIdent" },
    376    { gecko = "StyleComputedFontStretchRange", servo = "crate::font_face::ComputedFontStretchRange" },
    377    { gecko = "StyleComputedFontStyleDescriptor", servo = "crate::font_face::ComputedFontStyleDescriptor" },
    378    { gecko = "StyleComputedFontWeightRange", servo = "crate::font_face::ComputedFontWeightRange" },
    379    { gecko = "StyleComputedTimingFunction", servo = "crate::values::computed::easing::TimingFunction" },
    380    { gecko = "StylePrefersContrast", servo = "crate::gecko::media_features::PrefersContrast" },
    381    { gecko = "StyleColorGamut", servo = "crate::gecko::media_features::ColorGamut" },
    382    { gecko = "StyleCursorKind", servo = "crate::values::computed::ui::CursorKind" },
    383    { gecko = "StyleDisplay", servo = "crate::values::specified::Display" },
    384    { gecko = "StyleDisplayMode", servo = "crate::gecko::media_features::DisplayMode" },
    385    { gecko = "StylePlatform", servo = "crate::gecko::media_features::Platform" },
    386    { gecko = "StyleGtkThemeFamily", servo = "crate::gecko::media_features::GtkThemeFamily" },
    387    { gecko = "StylePrefersColorScheme", servo = "crate::queries::values::PrefersColorScheme" },
    388    { gecko = "StyleScripting", servo = "crate::gecko::media_features::Scripting" },
    389    { gecko = "StyleDynamicRange", servo = "crate::gecko::media_features::DynamicRange" },
    390    { gecko = "StyleFillRule", servo = "crate::values::generics::basic_shape::FillRule" },
    391    { gecko = "StyleFontDisplay", servo = "crate::font_face::FontDisplay" },
    392    { gecko = "StyleFontFaceSourceListComponent", servo = "crate::font_face::FontFaceSourceListComponent" },
    393    { gecko = "StyleFontFaceSourceFormatKeyword", servo = "crate::font_face::FontFaceSourceFormatKeyword" },
    394    { gecko = "StyleFontFaceSourceTechFlags", servo = "crate::font_face::FontFaceSourceTechFlags" },
    395    { gecko = "StyleFontLanguageOverride", servo = "crate::values::computed::font::FontLanguageOverride" },
    396    { gecko = "StyleOffsetPath", servo = "crate::values::computed::motion::OffsetPath" },
    397    { gecko = "StyleOffsetPathFunction", servo = "crate::values::computed::motion::OffsetPathFunction" },
    398    { gecko = "StyleGenericOffsetPath", servo = "crate::values::generics::motion::OffsetPath" },
    399    { gecko = "StyleGenericOffsetPathFunction", servo = "crate::values::generics::motion::OffsetPathFunction" },
    400    { gecko = "StyleComputedMozPrefFeatureValue", servo = "crate::queries::condition::ComputedMozPrefFeatureValue" },
    401    { gecko = "StyleMozTheme", servo = "crate::values::computed::ui::MozTheme" },
    402    { gecko = "StyleOffsetPosition", servo = "crate::values::computed::motion::OffsetPosition" },
    403    { gecko = "StyleOffsetRotate", servo = "crate::values::computed::motion::OffsetRotate" },
    404    { gecko = "StylePathCommand", servo = "crate::values::specified::svg_path::PathCommand" },
    405    { gecko = "StyleRayFunction", servo = "crate::values::computed::motion::RayFunction" },
    406    { gecko = "StyleParserState", servo = "cssparser::ParserState" },
    407    { gecko = "StyleUnicodeRange", servo = "cssparser::UnicodeRange" },
    408    { gecko = "StyleOverflowWrap", servo = "crate::values::computed::OverflowWrap" },
    409    { gecko = "StyleWordBreak", servo = "crate::values::computed::WordBreak" },
    410    { gecko = "StyleTextJustify", servo = "crate::values::computed::TextJustify" },
    411    { gecko = "StyleMozControlCharacterVisibility", servo = "crate::values::computed::text::MozControlCharacterVisibility" },
    412    { gecko = "StyleLineBreak", servo = "crate::values::computed::LineBreak" },
    413    { gecko = "StyleLineClamp", servo = "crate::values::computed::LineClamp" },
    414    { gecko = "StyleUserFocus", servo = "crate::values::computed::UserFocus" },
    415    { gecko = "StyleUserSelect", servo = "crate::values::computed::UserSelect" },
    416    { gecko = "StyleBreakBetween", servo = "crate::values::computed::BreakBetween" },
    417    { gecko = "StyleBreakWithin", servo = "crate::values::computed::BreakWithin" },
    418    { gecko = "StyleBorderStyle", servo = "crate::values::computed::BorderStyle" },
    419    { gecko = "StyleOutlineStyle", servo = "crate::values::computed::OutlineStyle" },
    420    { gecko = "StyleScrollSnapAlign", servo = "crate::values::computed::ScrollSnapAlign" },
    421    { gecko = "StyleScrollSnapStop", servo = "crate::values::computed::ScrollSnapStop" },
    422    { gecko = "StyleScrollSnapStrictness", servo = "crate::values::computed::ScrollSnapStrictness" },
    423    { gecko = "StyleScrollSnapType", servo = "crate::values::computed::ScrollSnapType" },
    424    { gecko = "StyleAnimationName", servo = "crate::values::computed::AnimationName" },
    425    { gecko = "StyleAnimationDirection", servo = "crate::values::computed::AnimationDirection" },
    426    { gecko = "StyleAnimationFillMode", servo = "crate::values::computed::AnimationFillMode" },
    427    { gecko = "StyleAnimationPlayState", servo = "crate::values::computed::AnimationPlayState" },
    428    { gecko = "StyleAnimationComposition", servo = "crate::values::computed::AnimationComposition" },
    429    { gecko = "StyleAnimationDuration", servo = "crate::values::computed::AnimationDuration" },
    430    { gecko = "StyleTimelineName", servo = "crate::values::computed::TimelineName" },
    431    { gecko = "StyleScrollAxis", servo = "crate::values::computed::ScrollAxis" },
    432    { gecko = "StyleViewTimelineInset", servo = "crate::values::computed::ViewTimelineInset" },
    433    { gecko = "StyleViewTransitionClass", servo = "crate::values::computed::ViewTransitionClass" },
    434    { gecko = "StyleViewTransitionName", servo = "crate::values::computed::ViewTransitionName" },
    435    { gecko = "StyleResize", servo = "crate::values::computed::Resize" },
    436    { gecko = "StyleOverflowClipMargin", servo = "crate::values::computed::OverflowClipMargin" },
    437    { gecko = "StyleFloat", servo = "crate::values::computed::Float" },
    438    { gecko = "StyleClear", servo = "crate::values::computed::Clear" },
    439    { gecko = "StyleOverscrollBehavior", servo = "crate::values::computed::OverscrollBehavior" },
    440    { gecko = "StyleTextAlign", servo = "crate::values::computed::TextAlign" },
    441    { gecko = "StyleTextAlignLast", servo = "crate::values::computed::text::TextAlignLast" },
    442    { gecko = "StyleTextAutospace", servo = "crate::values::computed::text::TextAutospace" },
    443    { gecko = "StyleTextIndent", servo = "crate::values::computed::text::TextIndent" },
    444    { gecko = "StyleTextOverflow", servo = "crate::values::computed::TextOverflow" },
    445    { gecko = "StyleOverflow", servo = "crate::values::computed::Overflow" },
    446    { gecko = "StyleOverflowAnchor", servo = "crate::values::computed::OverflowAnchor" },
    447    { gecko = "StyleTextDecorationSkipInk", servo = "crate::values::computed::TextDecorationSkipInk" },
    448    { gecko = "StyleTextDecorationLength", servo = "crate::values::computed::TextDecorationLength" },
    449    { gecko = "StyleTextDecorationInset", servo = "crate::values::computed::TextDecorationInset" },
    450    { gecko = "StyleRubyPosition", servo = "crate::values::computed::RubyPosition" },
    451    { gecko = "StyleLength", servo = "crate::values::computed::CSSPixelLength" },
    452    { gecko = "StyleLengthPercentage", servo = "crate::values::computed::LengthPercentage" },
    453    { gecko = "StyleNonNegativeLengthPercentage", servo = "crate::values::computed::NonNegativeLengthPercentage" },
    454    { gecko = "StyleGenericLengthPercentageOrAuto", servo = "crate::values::generics::length::LengthPercentageOrAuto" },
    455    { gecko = "StyleGenericLengthPercentageOrNormal", servo = "crate::values::generics::length::LengthPercentageOrNormal" },
    456    { gecko = "StyleLengthPercentageOrAuto", servo = "crate::values::computed::LengthPercentageOrAuto" },
    457    { gecko = "StyleNonNegativeLengthPercentageOrAuto", servo = "crate::values::computed::NonNegativeLengthPercentageOrAuto" },
    458    { gecko = "StyleInset", servo = "crate::values::computed::position::Inset" },
    459    { gecko = "StyleRect", servo = "crate::values::generics::rect::Rect" },
    460    { gecko = "StyleIntersectionObserverMargin", servo = "crate::values::specified::intersection_observer::IntersectionObserverMargin" },
    461    { gecko = "StyleGenericSize", servo = "crate::values::generics::length::Size" },
    462    { gecko = "StyleGenericMaxSize", servo = "crate::values::generics::length::MaxSize" },
    463    { gecko = "StyleGenericFlexBasis", servo = "crate::values::generics::flex::FlexBasis" },
    464    { gecko = "StyleSize", servo = "crate::values::computed::Size" },
    465    { gecko = "StyleMaxSize", servo = "crate::values::computed::MaxSize" },
    466    { gecko = "StyleFlexBasis", servo = "crate::values::computed::FlexBasis" },
    467    { gecko = "StylePosition", servo = "crate::values::computed::Position" },
    468    { gecko = "StylePositionOrAuto", servo = "crate::values::computed::PositionOrAuto" },
    469    { gecko = "StyleGenericPositionOrAuto", servo = "crate::values::generics::position::PositionOrAuto" },
    470    { gecko = "StyleBackgroundSize", servo = "crate::values::computed::BackgroundSize" },
    471    { gecko = "StyleGenericBackgroundSize", servo = "crate::values::generics::background::BackgroundSize" },
    472    { gecko = "StyleBorderImageRepeat", servo = "crate::values::specified::border::BorderImageRepeat" },
    473    { gecko = "StyleBorderImageRepeatKeyword", servo = "crate::values::specified::border::BorderImageRepeatKeyword" },
    474    { gecko = "StyleBorderImageSlice", servo = "crate::values::computed::BorderImageSlice" },
    475    { gecko = "StyleBorderSpacing", servo = "crate::values::computed::BorderSpacing" },
    476    { gecko = "StyleGenericLengthOrNumber", servo = "crate::values::generics::length::LengthOrNumber" },
    477    { gecko = "StyleCSSPixelLength", servo = "crate::values::computed::length::CSSPixelLength" },
    478    { gecko = "StyleNonNegativeLength", servo = "crate::values::computed::NonNegativeLength" },
    479    { gecko = "StyleNonNegativeNumber", servo = "crate::values::computed::NonNegativeNumber" },
    480    { gecko = "StyleZeroToOneNumber", servo = "crate::values::computed::ZeroToOneNumber" },
    481    { gecko = "StylePercentage", servo = "crate::values::computed::Percentage" },
    482    { gecko = "StylePerspective", servo = "crate::values::computed::Perspective" },
    483    { gecko = "StyleGenericPerspective", servo = "crate::values::generics::box_::Perspective" },
    484    { gecko = "StyleZIndex", servo = "crate::values::computed::ZIndex" },
    485    { gecko = "StyleGenericZIndex", servo = "crate::values::generics::position::ZIndex" },
    486    { gecko = "StyleTransformBox", servo = "crate::values::computed::TransformBox" },
    487    { gecko = "StyleTransformOrigin", servo = "crate::values::computed::TransformOrigin" },
    488    { gecko = "StyleTransformStyle", servo = "crate::values::computed::TransformStyle" },
    489    { gecko = "StyleGenericBorderRadius", servo = "crate::values::generics::border::BorderRadius" },
    490    { gecko = "StyleLetterSpacing", servo = "crate::values::computed::text::LetterSpacing" },
    491    { gecko = "StyleGenericLineHeight", servo = "crate::values::generics::font::LineHeight" },
    492    { gecko = "StyleCaretColor", servo = "crate::values::computed::color::CaretColor" },
    493    { gecko = "StyleContain", servo = "crate::values::computed::Contain" },
    494    { gecko = "StyleContainerType", servo = "crate::values::computed::ContainerType" },
    495    { gecko = "StyleContainerName", servo = "crate::values::computed::ContainerName" },
    496    { gecko = "StyleRestyleHint", servo = "crate::invalidation::element::restyle_hints::RestyleHint" },
    497    { gecko = "StyleTouchAction", servo = "crate::values::computed::TouchAction" },
    498    { gecko = "StyleWillChange", servo = "crate::values::specified::box_::WillChange" },
    499    { gecko = "StyleColorScheme", servo = "crate::values::specified::color::ColorScheme" },
    500    { gecko = "StyleColorSchemeFlags", servo = "crate::values::specified::color::ColorSchemeFlags" },
    501    { gecko = "StyleTextDecorationLine", servo = "crate::values::computed::TextDecorationLine" },
    502    { gecko = "StyleMasonryAutoFlow", servo = "crate::values::specified::MasonryAutoFlow" },
    503    { gecko = "StyleMasonryPlacement", servo = "crate::values::specified::MasonryPlacement" },
    504    { gecko = "StyleMasonryItemOrder", servo = "crate::values::specified::MasonryItemOrder" },
    505    { gecko = "StyleTextTransform", servo = "crate::values::computed::TextTransform" },
    506    { gecko = "StyleTextUnderlinePosition", servo = "crate::values::computed::TextUnderlinePosition" },
    507    { gecko = "StyleStrong", servo = "crate::gecko_bindings::sugar::ownership::Strong" },
    508    { gecko = "StyleGenericFontFamily", servo = "crate::values::computed::font::GenericFontFamily" },
    509    { gecko = "StyleGenericPosition", servo = "crate::values::generics::position::GenericPosition" },
    510    { gecko = "StyleGenericCounterPair", servo = "crate::values::generics::counters::GenericCounterPair" },
    511    { gecko = "StyleGenericShapeRadius", servo = "crate::values::generics::basic_shape::GenericShapeRadius" },
    512    { gecko = "StyleGenericClipRect", servo = "crate::values::generics::GenericClipRect" },
    513    { gecko = "StyleGenericCursorImage", servo = "crate::values::generics::ui::GenericCursorImage" },
    514    { gecko = "StyleFontFamily", servo = "crate::values::computed::font::FontFamily" },
    515    { gecko = "StyleFontSizeAdjust", servo = "crate::values::computed::font::FontSizeAdjust" },
    516    { gecko = "StyleFontFamilyNameSyntax", servo = "crate::values::computed::font::FontFamilyNameSyntax" },
    517    { gecko = "StyleGenericColor", servo = "crate::values::generics::color::Color" },
    518    { gecko = "StyleSystemColor", servo = "crate::values::specified::color::SystemColor" },
    519    { gecko = "StyleSystemFont", servo = "crate::values::specified::font::SystemFont" },
    520    { gecko = "StyleGenericColorOrAuto", servo = "crate::values::generics::color::ColorOrAuto" },
    521    { gecko = "StyleGenericScrollbarColor", servo = "crate::values::generics::ui::ScrollbarColor" },
    522    { gecko = "StyleColorComponent", servo = "crate::color::component::ColorComponent" },
    523    { gecko = "StyleAbsoluteColor", servo = "crate::color::AbsoluteColor" },
    524    { gecko = "StyleOrigin", servo = "crate::stylesheets::Origin" },
    525    { gecko = "StyleGenericVerticalAlign", servo = "crate::values::generics::box_::VerticalAlign" },
    526    { gecko = "StyleVerticalAlignKeyword", servo = "crate::values::generics::box_::VerticalAlignKeyword" },
    527    { gecko = "StyleGenericBasicShape", servo = "crate::values::generics::basic_shape::BasicShape" },
    528    { gecko = "StyleBasicShape", servo = "crate::values::computed::basic_shape::BasicShape" },
    529    { gecko = "StyleGenericInsetRect", servo = "crate::values::generics::basic_shape::InsetRect" },
    530    { gecko = "StyleInsetRect", servo = "crate::values::computed::basic_shape::InsetRect" },
    531    { gecko = "StyleShape", servo = "crate::values::computed::basic_shape::Shape" },
    532    { gecko = "StyleShapeCommand", servo = "crate::values::computed::basic_shape::ShapeCommand" },
    533    { gecko = "StyleGenericShapeCommand", servo = "crate::values::generics::basic_shape::ShapeCommand" },
    534    { gecko = "StyleArcSlice", servo = "style_traits::arc_slice::ArcSlice" },
    535    { gecko = "StyleForgottenArcSlicePtr", servo = "style_traits::arc_slice::ForgottenArcSlicePtr" },
    536    { gecko = "StyleOwnedSlice", servo = "style_traits::owned_slice::OwnedSlice" },
    537    { gecko = "StyleMozContextProperties", servo = "crate::values::specified::svg::MozContextProperties" },
    538    { gecko = "StyleQuotes", servo = "crate::values::specified::list::Quotes" },
    539    { gecko = "StyleOwnedStr", servo = "style_traits::owned_str::OwnedStr" },
    540    { gecko = "StyleGenericBoxShadow", servo = "crate::values::generics::effects::BoxShadow" },
    541    { gecko = "StyleGenericSimpleShadow", servo = "crate::values::generics::effects::SimpleShadow" },
    542    { gecko = "StyleGenericTransformOperation", servo = "crate::values::generics::transform::TransformOperation" },
    543    { gecko = "StyleGenericTransform", servo = "crate::values::generics::transform::Transform" },
    544    { gecko = "StyleGenericScale", servo = "crate::values::generics::transform::Scale" },
    545    { gecko = "StyleGenericRotate", servo = "crate::values::generics::transform::Rotate" },
    546    { gecko = "StyleGenericTranslate", servo = "crate::values::generics::transform::Translate" },
    547    { gecko = "StyleAngle", servo = "crate::values::computed::Angle" },
    548    { gecko = "StyleGenericBorderImageSideWidth", servo = "crate::values::generics::border::BorderImageSideWidth" },
    549    { gecko = "StyleGenericUrlOrNone", servo = "crate::values::generics::url::UrlOrNone" },
    550    { gecko = "StyleGenericCalcNode", servo = "crate::values::generics::calc::GenericCalcNode" },
    551    { gecko = "StyleCssUrl", servo = "crate::gecko::url::CssUrl" },
    552    { gecko = "StyleSpecifiedUrl", servo = "crate::gecko::url::SpecifiedUrl" },
    553    { gecko = "StyleComputedUrl", servo = "crate::gecko::url::ComputedUrl" },
    554    { gecko = "StyleLoadData", servo = "crate::gecko::url::LoadData" },
    555    { gecko = "StyleGenericFilter", servo = "crate::values::generics::effects::Filter" },
    556    { gecko = "StyleGenericGradient", servo = "crate::values::generics::image::Gradient" },
    557    { gecko = "StyleLineDirection", servo = "crate::values::computed::image::LineDirection" },
    558    { gecko = "StyleGridTemplateAreas", servo = "crate::values::computed::position::GridTemplateAreas" },
    559    { gecko = "StyleGenericGridLine", servo = "crate::values::generics::grid::GridLine" },
    560    { gecko = "StyleGenericTrackSize", servo = "crate::values::generics::grid::TrackSize" },
    561    { gecko = "StyleGenericTrackBreadth", servo = "crate::values::generics::grid::TrackBreadth" },
    562    { gecko = "StyleGenericImplicitGridTracks", servo = "crate::values::generics::grid::ImplicitGridTracks" },
    563    { gecko = "StyleImplicitGridTracks", servo = "crate::values::computed::ImplicitGridTracks" },
    564    { gecko = "StyleNumberOrPercentage", servo = "crate::values::computed::NumberOrPercentage" },
    565    { gecko = "StyleGenericSVGPaint", servo = "crate::values::generics::svg::SVGPaint" },
    566    { gecko = "StyleGenericTrackRepeat", servo = "crate::values::generics::grid::TrackRepeat" },
    567    { gecko = "StyleGenericTrackListValue", servo = "crate::values::generics::grid::TrackListValue" },
    568    { gecko = "StyleGenericTrackList", servo = "crate::values::generics::grid::TrackList" },
    569    { gecko = "StyleGenericGridTemplateComponent", servo = "crate::values::generics::grid::GridTemplateComponent" },
    570    { gecko = "StyleTextEmphasisStyle", servo = "crate::values::computed::text::TextEmphasisStyle" },
    571    { gecko = "StyleTextEmphasisPosition", servo = "crate::values::computed::TextEmphasisPosition" },
    572    { gecko = "StyleFontVariantAlternates", servo = "crate::values::specified::font::FontVariantAlternates" },
    573    { gecko = "StyleSVGPaintOrder", servo = "crate::values::specified::svg::SVGPaintOrder" },
    574    { gecko = "StyleClipRectOrAuto", servo = "crate::values::computed::ClipRectOrAuto" },
    575    { gecko = "StyleCounterReset", servo = "crate::values::computed::CounterReset" },
    576    { gecko = "StyleCounterSet", servo = "crate::values::computed::CounterSet" },
    577    { gecko = "StyleCounterIncrement", servo = "crate::values::computed::CounterIncrement" },
    578    { gecko = "StyleContent", servo = "crate::values::computed::counters::Content" },
    579    { gecko = "StyleSymbolsType", servo = "crate::counter_style::SymbolsType" },
    580    { gecko = "StyleCounterStyle", servo = "crate::counter_style::CounterStyle" },
    581    { gecko = "StyleComputedJustifyItems", servo = "crate::values::computed::align::ComputedJustifyItems" },
    582    { gecko = "StyleItemPlacement", servo = "crate::values::computed::ItemPlacement" },
    583    { gecko = "StyleContentDistribution", servo = "crate::values::computed::ContentDistribution" },
    584    { gecko = "StyleSelfAlignment", servo = "crate::values::computed::SelfAlignment" },
    585    { gecko = "StyleComputedValueFlags", servo = "crate::computed_value_flags::ComputedValueFlags" },
    586    { gecko = "StyleImage", servo = "crate::values::computed::Image" },
    587    { gecko = "StyleShapeOutside", servo = "crate::values::computed::basic_shape::ShapeOutside" },
    588    { gecko = "StyleClipPath", servo = "crate::values::computed::basic_shape::ClipPath" },
    589    { gecko = "StyleGridAutoFlow", servo = "crate::values::computed::GridAutoFlow" },
    590    { gecko = "StyleCursor", servo = "crate::values::computed::Cursor" },
    591    { gecko = "StyleSVGStrokeDashArray", servo = "crate::values::computed::svg::SVGStrokeDashArray" },
    592    { gecko = "StyleSVGWidth", servo = "crate::values::computed::svg::SVGWidth" },
    593    { gecko = "StyleSVGOpacity", servo = "crate::values::computed::svg::SVGOpacity" },
    594    { gecko = "StyleSVGLength", servo = "crate::values::computed::svg::SVGLength" },
    595    { gecko = "StyleFontSizeKeyword", servo = "crate::values::specified::font::FontSizeKeyword" },
    596    { gecko = "StyleCaptionSide", servo = "crate::values::computed::table::CaptionSide" },
    597    { gecko = "StylePageName", servo = "crate::values::specified::page::PageName" },
    598    { gecko = "StylePageOrientation", servo = "crate::values::generics::page::PageOrientation" },
    599    { gecko = "StylePageSize", servo = "crate::values::computed::page::PageSize" },
    600    { gecko = "StyleDProperty", servo = "crate::values::specified::svg::DProperty" },
    601    { gecko = "StyleVectorEffect", servo = "crate::values::specified::svg::VectorEffect" },
    602    { gecko = "StyleImageRendering", servo = "crate::values::computed::ImageRendering" },
    603    { gecko = "StylePrintColorAdjust", servo = "crate::values::computed::PrintColorAdjust" },
    604    { gecko = "StyleForcedColorAdjust", servo = "crate::values::computed::ForcedColorAdjust" },
    605    { gecko = "StyleForcedColors", servo = "crate::values::specified::color::ForcedColors" },
    606    { gecko = "StyleScrollbarGutter", servo = "crate::values::computed::ScrollbarGutter" },
    607    { gecko = "StyleHyphenateCharacter", servo = "crate::values::computed::HyphenateCharacter" },
    608    { gecko = "StyleHyphenateLimitChars", servo = "crate::values::computed::HyphenateLimitChars" },
    609    { gecko = "StyleColumnCount", servo = "crate::values::computed::ColumnCount" },
    610    { gecko = "StyleContentVisibility", servo = "crate::values::computed::ContentVisibility" },
    611    { gecko = "StyleContainIntrinsicSize", servo = "crate::values::computed::ContainIntrinsicSize" },
    612    { gecko = "StyleFontStyle", servo = "crate::values::computed::font::FontStyle" },
    613    { gecko = "StyleFontWeight", servo = "crate::values::computed::font::FontWeight" },
    614    { gecko = "StyleFontStretch", servo = "crate::values::computed::font::FontStretch" },
    615    { gecko = "StyleFontPalette", servo = "crate::values::computed::font::FontPalette" },
    616    { gecko = "StyleFontSynthesis", servo = "crate::values::computed::font::FontSynthesis" },
    617    { gecko = "StyleFontSynthesisStyle", servo = "crate::values::computed::font::FontSynthesisStyle" },
    618    { gecko = "StyleBoolInteger", servo = "crate::values::computed::BoolInteger" },
    619    { gecko = "StyleTime", servo = "crate::values::computed::Time" },
    620    { gecko = "StyleXTextScale", servo = "crate::values::computed::XTextScale" },
    621    { gecko = "StyleZoom", servo = "crate::values::computed::Zoom" },
    622    { gecko = "StyleTransitionProperty", servo = "crate::values::computed::TransitionProperty" },
    623    { gecko = "StyleAnimationValueMap", servo = "crate::properties::animated_properties::AnimationValueMap" },
    624    { gecko = "StyleAuthorStyles", servo = "crate::gecko::data::AuthorStyles" },
    625    { gecko = "StyleUseCounters", servo = "crate::use_counters::UseCounters" },
    626    { gecko = "StyleStylesheetContents", servo = "crate::stylesheets::StylesheetContents" },
    627    { gecko = "StyleAnimationValue", servo = "crate::properties::animated_properties::AnimationValue" },
    628    { gecko = "StyleLockedDeclarationBlock", servo = "crate::gecko::arc_types::LockedDeclarationBlock" },
    629    { gecko = "StyleLockedMediaList", servo = "crate::gecko::arc_types::LockedMediaList" },
    630    { gecko = "StyleLockedImportRule", servo = "crate::gecko::arc_types::LockedImportRule" },
    631    { gecko = "StyleLockedFontFaceRule", servo = "crate::gecko::arc_types::LockedFontFaceRule" },
    632    { gecko = "StyleBaselineSource", servo = "crate::values::computed::BaselineSource" },
    633    { gecko = "StyleListStyleType", servo = "crate::values::computed::ListStyleType" },
    634    { gecko = "StyleAu", servo = "app_units::Au" },
    635    { gecko = "StyleAnchorName", servo = "crate::values::computed::position::AnchorName" },
    636    { gecko = "StyleAnchorScope", servo = "crate::values::computed::position::AnchorScope" },
    637    { gecko = "StyleBorderSideWidth", servo = "crate::values::computed::border::BorderSideWidth" },
    638    { gecko = "StylePositionAnchor", servo = "crate::values::computed::position::PositionAnchor" },
    639    { gecko = "StylePositionArea", servo = "crate::values::computed::position::PositionArea" },
    640    { gecko = "StylePositionVisibility", servo = "crate::values::computed::position::PositionVisibility" },
    641    { gecko = "StylePositionTryFallbacks", servo = "crate::values::computed::position::PositionTryFallbacks" },
    642    { gecko = "StylePositionTryOrder", servo = "crate::values::computed::position::PositionTryOrder" },
    643    { gecko = "StyleFontVariantEastAsian", servo = "crate::values::computed::font::FontVariantEastAsian" },
    644    { gecko = "StyleFontVariantLigatures", servo = "crate::values::computed::font::FontVariantLigatures" },
    645    { gecko = "StyleFontVariantNumeric", servo = "crate::values::computed::font::FontVariantNumeric" },
    646    { gecko = "StyleInitialLetter", servo = "crate::values::computed::text::InitialLetter" },
    647    { gecko = "StylePointerEvents", servo = "crate::values::computed::ui::PointerEvents" },
    648    { gecko = "StyleInert", servo = "crate::values::computed::ui::Inert" },
    649    { gecko = "StyleMargin", servo = "crate::values::computed::length::Margin" },
    650    { gecko = "StyleGenericAnchorFunction", servo = "crate::values::generics::position::GenericAnchorFunction" },
    651    { gecko = "StylePositionProperty", servo = "crate::values::computed::PositionProperty" },
    652    { gecko = "StyleQueryFontMetricsFlags", servo = "crate::values::specified::font::QueryFontMetricsFlags" },
    653    { gecko = "StyleWritingModeProperty", servo = "crate::values::computed::box_::WritingModeProperty" },
    654    { gecko = "StyleGenericAnchorSide", servo = "crate::values::generics::position::GenericAnchorSide" },
    655    { gecko = "StyleTypedValue", servo = "style_traits::TypedValue" },
    656    { gecko = "StylePropertyTypedValue", servo = "crate::properties::declaration_block::PropertyTypedValue" },
    657 ]
    658 
    659 mapped-generic-types = [
    660    { generic = true, gecko = "mozilla::RustCell", servo = "::std::cell::Cell" },
    661    { generic = false, gecko = "ServoNodeData", servo = "atomic_refcell::AtomicRefCell<crate::data::ElementData>" },
    662    { generic = false, gecko = "mozilla::ServoWritingMode", servo = "crate::logical_geometry::WritingMode" },
    663    { generic = false, gecko = "mozilla::ServoComputedCustomProperties", servo = "crate::custom_properties::ComputedCustomProperties" },
    664    { generic = false, gecko = "mozilla::ServoRuleNode", servo = "Option<crate::rule_tree::StrongRuleNode>" },
    665    { generic = false, gecko = "nsACString", servo = "nsstring::nsACString" },
    666    { generic = false, gecko = "nsAString", servo = "nsstring::nsAString" },
    667    { generic = false, gecko = "nsCString", servo = "nsstring::nsCString" },
    668    { generic = false, gecko = "nsString", servo = "nsstring::nsString" },
    669    { generic = true, gecko = "nsTArray", servo = "thin_vec::ThinVec" },
    670    { generic = true, gecko = "CopyableTArray", servo = "thin_vec::ThinVec" },
    671 ]
    672 
    673 allowlist-functions = ["Servo_.*", "Gecko_.*"]