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_.*"]