1[structs] 2headers = [ 3 "nsStyleStruct.h", 4 "mozilla/StyleAnimationValue.h", 5 "gfxFontConstants.h", 6 "gfxFontFeatures.h", 7 "nsStyleConsts.h", 8 "mozilla/css/Loader.h", 9 "mozilla/css/SheetLoadData.h", 10 "mozilla/DeclarationBlock.h", 11 "mozilla/dom/AnimationEffectBinding.h", 12 "mozilla/dom/HTMLSlotElement.h", 13 "mozilla/dom/KeyframeEffectBinding.h", 14 "mozilla/dom/MediaList.h", 15 "mozilla/dom/ShadowRoot.h", 16 "mozilla/ipc/ByteBuf.h", 17 "mozilla/AnimationPropertySegment.h", 18 "mozilla/ComputedTiming.h", 19 "mozilla/ComputedTimingFunction.h", 20 "mozilla/CORSMode.h", 21 "mozilla/Keyframe.h", 22 "mozilla/ServoElementSnapshot.h", 23 "mozilla/ServoElementSnapshotTable.h", 24 "mozilla/dom/Element.h", 25 "mozilla/dom/ChildIterator.h", 26 "mozilla/dom/NameSpaceConstants.h", 27 "mozilla/LookAndFeel.h", 28 "mozilla/GeckoBindings.h", 29 "mozilla/ServoBindings.h", 30 "mozilla/ComputedStyle.h", 31 "mozilla/ServoTraversalStatistics.h", 32 "mozilla/SizeOfState.h", 33 "nsCSSProps.h", 34 "nsContentUtils.h", 35 "nsNameSpaceManager.h", 36 "nsMediaFeatures.h", 37 "GeckoProfiler.h", 38] 39raw-lines = [ 40 # FIXME(emilio): Incrementally remove these "pub use"s. Probably 41 # mozilla::css and mozilla::dom are easier. 42 "pub use self::root::*;", 43 "pub use self::root::mozilla::*;", 44 "pub use self::root::mozilla::css::*;", 45 "pub use self::root::mozilla::dom::*;", 46 "use atomic_refcell::AtomicRefCell;", 47 "use data::ElementData;", 48] 49hide-types = [ 50 ".*char_traits", 51 ".*incompatible_char_type", 52 # https://github.com/rust-lang/rust-bindgen/issues/1503 53 "mozilla::StyleTimingFunction.*", 54 # https://github.com/rust-lang/rust-bindgen/issues/1559 55 "mozilla::StyleGenericTransformOperation_.*", 56] 57bitfield-enums = [ 58 "nsChangeHint", 59 "mozilla::OriginFlags", 60 "mozilla::StyleTextUnderlinePosition", 61] 62rusty-enums = [ 63 "nsCompatibility", 64 "mozilla::EffectCompositor_CascadeLevel", 65 "mozilla::SheetType", 66 "mozilla::dom::CallerType", 67 "mozilla::dom::IterationCompositeOperation", 68 "mozilla::dom::CompositeOperation", 69 "mozilla::InheritTarget", 70 "mozilla::css::DocumentMatchingFunction", 71 "mozilla::css::SheetParsingMode", 72 "nsStyleSVGOpacitySource", 73 "mozilla::dom::Document_DocumentTheme", 74 "mozilla::dom::Document_Type", 75 "nsCSSUnit", 76 "nsCSSFontDesc", 77 "nsCSSPropertyID", 78 "nsCSSCounterDesc", 79 "nsMediaFeature_RangeType", 80 "nsMediaFeature_ValueType", 81 "nsresult", 82 "nsAtom_AtomKind", 83 "nsStyleImageLayers_LayerType", 84 "mozilla::ServoElementSnapshotFlags", 85 "mozilla::Side", 86 "mozilla::dom::PlaybackDirection", 87 "mozilla::dom::FillMode", 88 "mozilla::HalfCorner", 89 "mozilla::StyleFloatEdge", 90 "mozilla::StyleShapeRadius", 91 "mozilla::StyleWindowDragging", 92 "mozilla::StyleAnimationPlayState", 93 "mozilla::StyleOrient", 94 "mozilla::StyleBoxSizing", 95 "mozilla::StyleClear", 96 "mozilla::StyleColumnFill", 97 "mozilla::StyleColumnSpan", 98 "mozilla::StyleDirection", 99 "mozilla::StyleFloat", 100 "mozilla::StyleImageOrientation", 101 "mozilla::StyleImageRendering", 102 "mozilla::StyleUserModify", 103 "mozilla::StyleUserInput", 104 "mozilla::StyleBoxDirection", 105 "mozilla::StyleTextJustify", 106 "mozilla::StyleRubyAlign", 107 "mozilla::StyleTextSizeAdjust", 108 "mozilla::StyleHyphens", 109 "mozilla::StyleRubyPosition", 110 "mozilla::StyleShapeSourceType", 111 "mozilla::StyleVisibility", 112 "mozilla::StyleBasicShapeType", 113 "nsStyleImageLayers_Size_DimensionType", 114 "mozilla::StyleBorderCollapse", 115 "mozilla::StyleBorderImageRepeat", 116 "mozilla::StyleBoxPack", 117 "mozilla::StyleWindowShadow", 118 "mozilla::StyleDominantBaseline", 119 "mozilla::StyleBoxOrient", 120 "mozilla::StyleBoxAlign", 121 "mozilla::StyleUserFocus", 122 "mozilla::StyleUserSelect", 123 "mozilla::StyleImageLayerRepeat", 124 "mozilla::StyleImageLayerAttachment", 125 "mozilla::StylePositionProperty", 126 "mozilla::StyleBoxDecorationBreak", 127 "mozilla::StyleBorderStyle", 128 "mozilla::StyleRuleInclusion", 129 "mozilla::StyleGridTrackBreadth", 130 "mozilla::StyleOverscrollBehavior", 131 "mozilla::StyleImeMode", 132 "mozilla::StyleOverflowAnchor", 133 "mozilla::StylePointerEvents", 134 "mozilla::StyleScrollbarWidth", 135 "mozilla::StyleWhiteSpace", 136 "mozilla::StyleTextRendering", 137 "mozilla::StyleColorAdjust", 138 "mozilla::StyleFlexDirection", 139 "mozilla::StyleStrokeLinecap", 140 "mozilla::StyleStrokeLinejoin", 141 "mozilla::StyleFlexWrap", 142 "mozilla::StyleTextDecorationSkipInk", 143 "mozilla::StyleTextDecorationLength", 144 "mozilla::StyleMaskType", 145 "mozilla::StyleShapeRendering", 146 "mozilla::StyleTextAnchor", 147 "mozilla::StyleObjectFit", 148 "mozilla::StyleTopLayer", 149 "mozilla::StyleIsolation", 150 "mozilla::StyleTextOrientation", 151 "mozilla::StyleTableLayout", 152 "mozilla::StyleEmptyCells", 153 "nsStyleImageType", 154 "nsINode_BooleanFlag", 155 "mozilla::PseudoStyleType", 156 "mozilla::LookAndFeel_ColorID", 157 "mozilla::LookAndFeel_FontID", 158 "nsStyleTransformMatrix::MatrixTransformOperator", 159 "mozilla::StyleGeometryBox", 160 "mozilla::SystemColor", 161 "mozilla::StyleMaskMode", 162 "mozilla::StyleScrollBehavior", 163 "mozilla::StyleColorInterpolation", 164 "mozilla::StyleVectorEffect", 165 "mozilla::StyleBackfaceVisibility", 166 "mozilla::StyleBlend", 167 "mozilla::StyleMaskComposite", 168 "mozilla::StyleControlCharacterVisibility", 169 "mozilla::StyleFontSize", 170] 171whitelist-vars = [ 172 "NS_ATTRVALUE_.*", 173 "NODE_.*", 174 "ELEMENT_.*", 175 "NS_FONT_.*", 176 "NS_STYLE_.*", 177 "NS_MATHML_.*", 178 "NS_RADIUS_.*", 179 "BORDER_COLOR_.*", 180 "BORDER_STYLE_.*", 181 "CSS_PSEUDO_ELEMENT_.*", 182 "SERVO_CSS_PSEUDO_ELEMENT_FLAGS_.*", 183 "kNameSpaceID_.*", 184 "kGenericFont_.*", 185 "kPresContext_.*", 186 "nsContentUtils_.*", 187 "GECKO_IS_NIGHTLY", 188 "mozilla::detail::gGkAtoms", 189 "mozilla::detail::kGkAtomsArrayOffset", 190 "mozilla::profiler::detail::RacyFeatures::sActiveAndFeatures", 191] 192# TODO(emilio): A bunch of types here can go away once we generate bindings and 193# structs together. 194whitelist-types = [ 195 "RawGecko.*", 196 "RawServo.*", 197 "ServoCssRules", 198 "nsFontFaceRuleContainer", 199 "Matrix4x4Components", 200 "mozilla::ComputedKeyframeValues", 201 "mozilla::Keyframe", 202 "mozilla::PropertyValuePair", 203 "mozilla::DeclarationBlockMutationClosure", 204 "mozilla::AnimationPropertySegment", 205 "mozilla::AnonymousCounterStyle", 206 "mozilla::AtomArray", 207 "mozilla::ComputedTiming", 208 "mozilla::ComputedTimingFunction", 209 "mozilla::ComputedTimingFunction::BeforeFlag", 210 "mozilla::Matrix4x4Components", 211 "mozilla::PreferenceSheet", 212 "mozilla::SeenPtrs", 213 "mozilla::ServoElementSnapshot.*", 214 "mozilla::ComputedStyle", 215 "mozilla::StyleSheet", 216 "mozilla::ServoStyleSheetInner", 217 "mozilla::ServoStyleSetSizes", 218 "mozilla::ServoTraversalStatistics", 219 "mozilla::css::LoaderReusableStyleSheets", 220 "mozilla::css::SheetLoadData", 221 "mozilla::css::SheetLoadDataHolder", 222 "mozilla::css::SheetParsingMode", 223 "mozilla::css::DocumentMatchingFunction", 224 "mozilla::dom::IterationCompositeOperation", 225 "mozilla::dom::StyleChildrenIterator", 226 "mozilla::HalfCorner", 227 "mozilla::ipc::ByteBuf", 228 "mozilla::MallocSizeOf", 229 "mozilla::OriginFlags", 230 "mozilla::PropertyStyleAnimationValuePair", 231 "mozilla::ServoTraversalFlags", 232 "mozilla::StyleShapeRadius", 233 "mozilla::StyleGrid.*", 234 "mozilla::UpdateAnimationsTasks", 235 "mozilla::PointerCapabilities", 236 "mozilla::LookAndFeel", 237 "mozilla::gfx::Float", 238 "mozilla::gfx::FontVariation", 239 "mozilla::StyleImageLayerAttachment", 240 "gfxFontFeature", 241 "gfxFontVariation", 242 ".*ThreadSafe.*Holder", 243 "AnonymousContent", 244 "AudioContext", 245 "DefaultDelete", 246 "DOMIntersectionObserverEntry", 247 "Element", 248 "FontFamilyList", 249 "FontFamilyName", 250 "mozilla::FontSizePrefs", 251 "FragmentOrURL", 252 "FrameRequestCallback", 253 "GeckoParserExtraData", 254 "GeckoFontMetrics", 255 "gfxFontFeatureValueSet", 256 "GridNamedArea", 257 "mozilla::HalfCorner", 258 "Image", 259 "ImageURL", 260 "Keyframe", 261 "mozilla::MediumFeaturesChangedResult", 262 "nsAttrName", 263 "nsAttrValue", 264 "nscolor", 265 "nsChangeHint", 266 "nsCSSCounterDesc", 267 "nsCSSFontDesc", 268 "nsCSSKTableEntry", 269 "nsCSSPropertyID", 270 "nsCSSPropertyIDSet", 271 "nsCSSProps", 272 "nsCSSShadowArray", 273 "nsCSSValue", 274 "nsCSSValueList", 275 "nsCSSValueList_heap", 276 "nsCSSValuePair_heap", 277 "nsCSSValuePairList", 278 "nsCSSValuePairList_heap", 279 "nsCSSValueTriplet_heap", 280 "nsCursorImage", 281 "nsFont", 282 "nsAtom", 283 "nsDynamicAtom", 284 "nsMargin", 285 "nsMediaFeature", 286 "nsMediaFeatures", 287 "nsRect", 288 "nsresult", 289 "nsSimpleContentList", 290 "nsSize", 291 "nsStyleBackground", 292 "nsStyleBorder", 293 "nsStyleColor", 294 "nsStyleColumn", 295 "nsStyleContent", 296 "nsStyleContentData", 297 "ComputedStyle", 298 "nsStyleCounterData", 299 "nsStyleDisplay", 300 "nsStyleEffects", 301 "nsStyleFilter", 302 "nsStyleFont", 303 "nsStyleGradient", 304 "nsStyleGridTemplate", 305 "nsStyleImage", 306 "nsStyleImageLayers", 307 "nsStyleList", 308 "nsStyleMargin", 309 "nsStyleOutline", 310 "nsStylePadding", 311 "nsStylePosition", 312 "nsStyleSides", 313 "nsStyleSVG", 314 "nsStyleSVGOpacitySource", 315 "nsStyleSVGReset", 316 "nsStyleTable", 317 "nsStyleTableBorder", 318 "nsStyleText", 319 "nsStyleTextReset", 320 "nsStyleUIReset", 321 "nsStyleUnion", 322 "nsStyleUI", 323 "nsStyleVisibility", 324 "nsStyleXUL", 325 "nsTArrayHeader", 326 "Position", 327 "PropertyValuePair", 328 "Runnable", 329 "ServoAttrSnapshot", 330 "ServoComputedData", 331 "ServoComputedDataBorrowed", 332 "ServoElementSnapshot", 333 "ComputedStyleStrong", 334 "ComputedStyleBorrowed", 335 "ComputedStyleBorrowedOrNull", 336 "SheetParsingMode", 337 "StaticRefPtr", 338 "StyleAnimation", 339 "StyleBasicShapeType", 340 "StyleGeometryBox", 341 "StyleShapeSource", 342 "StyleTransition", 343 "ThemeWidgetType", 344 "mozilla::UniquePtr", 345 "mozilla::DeclarationBlock", 346 "mozilla::DefaultDelete", 347 "mozilla::Side", 348 "mozilla::binding_danger::AssertAndSuppressCleanupPolicy", 349 "mozilla::ParsingMode", 350 "mozilla::InheritTarget", 351 "mozilla::dom::MediaList", 352 "mozilla::StyleRuleInclusion", 353 "nsStyleTransformMatrix::MatrixTransformOperator", 354 "mozilla::profiler::detail::RacyFeatures", 355] 356opaque-types = [ 357 "mozilla::StyleThinArc", # https://github.com/rust-lang/rust-bindgen/issues/1557 358 "std::pair__PCCP", 359 "std::namespace::atomic___base", "std::atomic__My_base", 360 "std::atomic", 361 "std::atomic___base", 362 # We want everything but FontVariation and Float to be opaque but we don't 363 # have negative regexes. 364 "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]))", 365 "mozilla::dom::Sequence", 366 "mozilla::SmallPointerArray", 367 "mozilla::dom::Optional", 368 "mozilla::dom::OwningNodeOrString_Value", 369 "mozilla::dom::Nullable", 370 "mozilla::external::AtomicRefCounted", 371 "RefPtr_Proxy", 372 "RefPtr_Proxy_member_function", 373 "nsAutoPtr_Proxy", 374 "nsAutoPtr_Proxy_member_function", 375 "mozilla::detail::HashTable", # <- We should be able to remove this and 376 # HashSet below once 377 # https://github.com/rust-lang/rust-bindgen/pull/1515 378 # is available 379 "mozilla::detail::PointerType", 380 "mozilla::HashSet", 381 "mozilla::Pair", 382 "mozilla::Pair_Base", 383 "mozilla::ScrollAxis", # <- For some reason the alignment of this is 4 384 # for clang. 385 "mozilla::SeenPtrs", 386 "mozilla::SupportsWeakPtr", 387 "mozilla::Tuple", 388 "SupportsWeakPtr", 389 "mozilla::detail::WeakReference", 390 "mozilla::WeakPtr", 391 "nsWritingIterator_reference", "nsReadingIterator_reference", 392 "nsTObserverArray", # <- Inherits from nsAutoTObserverArray<T, 0> 393 "nsTHashtable", # <- Inheriting from inner typedefs that clang 394 # doesn't expose properly. 395 "nsBaseHashtable", "nsRefPtrHashtable", "nsDataHashtable", "nsClassHashtable", # <- Ditto 396 "nsInterfaceHashtable", # <- Ditto 397 "mozilla::dom::Document_SelectorCache", # <- Inherits from nsExpirationTracker<.., 4> 398 "nsPIDOMWindow", # <- Takes the vtable from a template parameter, and we can't 399 # generate it conditionally. 400 "JS::Rooted", 401 "mozilla::Maybe", 402 "gfxSize", # <- union { struct { T width; T height; }; T components[2] }; 403 "gfxSize_Super", # Ditto. 404 "mozilla::StyleAnimationValue", 405 "StyleAnimationValue", # pulls in a whole bunch of stuff we don't need in the bindings 406 "mozilla::dom::.*Callback", # Pulls in ErrorResult and other things that 407 # don't align properly on Linux 32-bit 408 "mozilla::SchedulerGroup", # Non-standard-layout packing of field into superclass 409 "mozilla::detail::GkAtoms", # https://bugzilla.mozilla.org/show_bug.cgi?id=1517685 410 "mozilla::detail::ThreadLocal.*", 411] 412 413# All cbindgen-types are in mod "structs::root::mozilla". 414# FIXME(emilio): We probably want to automate this somehow... 415cbindgen-types = [ 416 { gecko = "StyleAppearance", servo = "values::specified::Appearance" }, 417 { gecko = "StyleAspectRatio", servo = "values::computed::position::AspectRatio" }, 418 { gecko = "StyleComputedFontStretchRange", servo = "font_face::ComputedFontStretchRange" }, 419 { gecko = "StyleComputedFontStyleDescriptor", servo = "font_face::ComputedFontStyleDescriptor" }, 420 { gecko = "StyleComputedFontWeightRange", servo = "font_face::ComputedFontWeightRange" }, 421 { gecko = "StyleComputedTimingFunction", servo = "values::computed::easing::TimingFunction" }, 422 { gecko = "StyleCursorKind", servo = "values::computed::ui::CursorKind" }, 423 { gecko = "StyleDisplay", servo = "values::specified::Display" }, 424 { gecko = "StyleDisplayMode", servo = "gecko::media_features::DisplayMode" }, 425 { gecko = "StylePrefersColorScheme", servo = "gecko::media_features::PrefersColorScheme" }, 426 { gecko = "StyleExtremumLength", servo = "values::computed::length::ExtremumLength" }, 427 { gecko = "StyleFillRule", servo = "values::generics::basic_shape::FillRule" }, 428 { gecko = "StyleFontDisplay", servo = "font_face::FontDisplay" }, 429 { gecko = "StyleFontFaceSourceListComponent", servo = "font_face::FontFaceSourceListComponent" }, 430 { gecko = "StyleFontLanguageOverride", servo = "values::computed::font::FontLanguageOverride" }, 431 { gecko = "StyleOffsetPath", servo = "values::computed::motion::OffsetPath" }, 432 { gecko = "StyleGenericOffsetPath", servo = "values::generics::motion::OffsetPath" }, 433 { gecko = "StyleOffsetRotate", servo = "values::computed::motion::OffsetRotate" }, 434 { gecko = "StylePathCommand", servo = "values::specified::svg_path::PathCommand" }, 435 { gecko = "StyleRayFunction", servo = "values::generics::motion::RayFunction" }, 436 { gecko = "StyleUnicodeRange", servo = "cssparser::UnicodeRange" }, 437 { gecko = "StyleOverflowWrap", servo = "values::computed::OverflowWrap" }, 438 { gecko = "StyleWordBreak", servo = "values::computed::WordBreak" }, 439 { gecko = "StyleLineBreak", servo = "values::computed::LineBreak" }, 440 { gecko = "StyleUserSelect", servo = "values::computed::UserSelect" }, 441 { gecko = "StyleBreakBetween", servo = "values::computed::BreakBetween" }, 442 { gecko = "StyleBreakWithin", servo = "values::computed::BreakWithin" }, 443 { gecko = "StyleBorderStyle", servo = "values::computed::BorderStyle" }, 444 { gecko = "StyleOutlineStyle", servo = "values::computed::OutlineStyle" }, 445 { gecko = "StyleScrollSnapAlign", servo = "values::computed::ScrollSnapAlign" }, 446 { gecko = "StyleScrollSnapStrictness", servo = "values::computed::ScrollSnapStrictness" }, 447 { gecko = "StyleScrollSnapType", servo = "values::computed::ScrollSnapType" }, 448 { gecko = "StyleResize", servo = "values::computed::Resize" }, 449 { gecko = "StyleOverflowClipBox", servo = "values::computed::OverflowClipBox" }, 450 { gecko = "StyleFloat", servo = "values::computed::Float" }, 451 { gecko = "StyleOverscrollBehavior", servo = "values::computed::OverscrollBehavior" }, 452 { gecko = "StyleTextAlign", servo = "values::computed::TextAlign" }, 453 { gecko = "StyleTextAlignLast", servo = "values::computed::text::TextAlignLast" }, 454 { gecko = "StyleTextOverflow", servo = "values::computed::TextOverflow" }, 455 { gecko = "StyleOverflow", servo = "values::computed::Overflow" }, 456 { gecko = "StyleOverflowAnchor", servo = "values::computed::OverflowAnchor" }, 457 { gecko = "StyleTextDecorationSkipInk", servo = "values::computed::TextDecorationSkipInk" }, 458 { gecko = "StyleTextDecorationLength", servo = "values::computed::TextDecorationLength" }, 459 { gecko = "StyleLength", servo = "values::computed::CSSPixelLength" }, 460 { gecko = "StyleLengthPercentage", servo = "values::computed::LengthPercentage" }, 461 { gecko = "StyleNonNegativeLengthPercentage", servo = "values::computed::NonNegativeLengthPercentage" }, 462 { gecko = "StyleGenericLengthPercentageOrAuto", servo = "values::generics::length::LengthPercentageOrAuto" }, 463 { gecko = "StyleGenericLengthPercentageOrNormal", servo = "values::generics::length::LengthPercentageOrNormal" }, 464 { gecko = "StyleLengthPercentageOrAuto", servo = "values::computed::LengthPercentageOrAuto" }, 465 { gecko = "StyleNonNegativeLengthPercentageOrAuto", servo = "values::computed::NonNegativeLengthPercentageOrAuto" }, 466 { gecko = "StyleRect", servo = "values::generics::rect::Rect" }, 467 { gecko = "StyleIntersectionObserverRootMargin", servo = "values::specified::gecko::IntersectionObserverRootMargin" }, 468 { gecko = "StyleGenericSize", servo = "values::generics::length::Size" }, 469 { gecko = "StyleGenericMaxSize", servo = "values::generics::length::MaxSize" }, 470 { gecko = "StyleGenericFlexBasis", servo = "values::generics::flex::FlexBasis" }, 471 { gecko = "StyleSize", servo = "values::computed::Size" }, 472 { gecko = "StyleMaxSize", servo = "values::computed::MaxSize" }, 473 { gecko = "StyleFlexBasis", servo = "values::computed::FlexBasis" }, 474 { gecko = "StylePosition", servo = "values::computed::Position" }, 475 { gecko = "StylePositionOrAuto", servo = "values::computed::PositionOrAuto" }, 476 { gecko = "StyleGenericPositionOrAuto", servo = "values::generics::position::PositionOrAuto" }, 477 { gecko = "StyleBackgroundSize", servo = "values::computed::BackgroundSize" }, 478 { gecko = "StyleGenericBackgroundSize", servo = "values::generics::background::BackgroundSize" }, 479 { gecko = "StyleBorderImageSlice", servo = "values::computed::BorderImageSlice" }, 480 { gecko = "StyleGenericLengthOrNumber", servo = "values::generics::length::LengthOrNumber" }, 481 { gecko = "StyleCSSPixelLength", servo = "values::computed::length::CSSPixelLength" }, 482 { gecko = "StyleNonNegativeLength", servo = "values::computed::NonNegativeLength" }, 483 { gecko = "StyleNonNegativeNumber", servo = "values::computed::NonNegativeNumber" }, 484 { gecko = "StyleZeroToOneNumber", servo = "values::computed::ZeroToOneNumber" }, 485 { gecko = "StylePercentage", servo = "values::computed::Percentage" }, 486 { gecko = "StylePerspective", servo = "values::computed::Perspective" }, 487 { gecko = "StyleGenericPerspective", servo = "values::generics::box_::Perspective" }, 488 { gecko = "StyleZIndex", servo = "values::computed::ZIndex" }, 489 { gecko = "StyleGenericZIndex", servo = "values::generics::position::ZIndex" }, 490 { gecko = "StyleTransformOrigin", servo = "values::computed::TransformOrigin" }, 491 { gecko = "StyleTransformStyle", servo = "values::computed::TransformStyle" }, 492 { gecko = "StyleGenericBorderRadius", servo = "values::generics::border::BorderRadius" }, 493 { gecko = "StyleLetterSpacing", servo = "values::computed::text::LetterSpacing" }, 494 { gecko = "StyleGenericLineHeight", servo = "values::generics::text::LineHeight" }, 495 { gecko = "StyleContain", servo = "values::computed::Contain" }, 496 { gecko = "StyleRestyleHint", servo = "invalidation::element::restyle_hints::RestyleHint" }, 497 { gecko = "StyleTouchAction", servo = "values::computed::TouchAction" }, 498 { gecko = "StyleWillChange", servo = "values::specified::box_::WillChange" }, 499 { gecko = "StyleTextDecorationLine", servo = "values::computed::TextDecorationLine" }, 500 { gecko = "StyleTextTransform", servo = "values::computed::TextTransform" }, 501 { gecko = "StyleTextUnderlinePosition", servo = "values::computed::TextUnderlinePosition" }, 502 { gecko = "StyleMozListReversed", servo = "values::computed::MozListReversed" }, 503 { gecko = "StyleOwned", servo = "gecko_bindings::sugar::ownership::Owned" }, 504 { gecko = "StyleOwnedOrNull", servo = "gecko_bindings::sugar::ownership::OwnedOrNull" }, 505 { gecko = "StyleStrong", servo = "gecko_bindings::sugar::ownership::Strong" }, 506 { gecko = "StyleGenericFontFamily", servo = "values::computed::font::GenericFontFamily" }, 507 { gecko = "StyleFontFamilyNameSyntax", servo = "values::computed::font::FontFamilyNameSyntax" }, 508 { gecko = "StyleGenericColor", servo = "values::generics::color::Color" }, 509 { gecko = "StyleSystemColor", servo = "values::specified::color::SystemColor" }, 510 { gecko = "StyleGenericColorOrAuto", servo = "values::generics::color::ColorOrAuto" }, 511 { gecko = "StyleGenericScrollbarColor", servo = "values::generics::ui::ScrollbarColor" }, 512 { gecko = "StyleRGBA", servo = "cssparser::RGBA" }, 513 { gecko = "StyleOrigin", servo = "stylesheets::Origin" }, 514 { gecko = "StyleGenericVerticalAlign", servo = "values::generics::box_::VerticalAlign" }, 515 { gecko = "StyleVerticalAlignKeyword", servo = "values::generics::box_::VerticalAlignKeyword" }, 516 { gecko = "StyleGenericBasicShape", servo = "values::generics::basic_shape::BasicShape" }, 517 { gecko = "StyleArcSlice", servo = "style_traits::arc_slice::ArcSlice" }, 518 { gecko = "StyleForgottenArcSlicePtr", servo = "style_traits::arc_slice::ForgottenArcSlicePtr" }, 519 { gecko = "StyleOwnedSlice", servo = "style_traits::owned_slice::OwnedSlice" }, 520 { gecko = "StyleMozContextProperties", servo = "values::specified::svg::MozContextProperties" }, 521 { gecko = "StyleQuotes", servo = "values::specified::list::Quotes" }, 522 { gecko = "StyleOwnedStr", servo = "style_traits::owned_str::OwnedStr" }, 523 { gecko = "StyleGenericBoxShadow", servo = "values::generics::effects::BoxShadow" }, 524 { gecko = "StyleGenericSimpleShadow", servo = "values::generics::effects::SimpleShadow" }, 525 { gecko = "StyleGenericTransformOperation", servo = "values::generics::transform::TransformOperation" }, 526 { gecko = "StyleGenericTransform", servo = "values::generics::transform::Transform" }, 527 { gecko = "StyleGenericScale", servo = "values::generics::transform::Scale" }, 528 { gecko = "StyleGenericRotate", servo = "values::generics::transform::Rotate" }, 529 { gecko = "StyleGenericTranslate", servo = "values::generics::transform::Translate" }, 530 { gecko = "StyleAngle", servo = "values::computed::Angle" }, 531 { gecko = "StyleGenericBorderImageSideWidth", servo = "values::generics::border::BorderImageSideWidth" }, 532 { gecko = "StyleGenericUrlOrNone", servo = "values::generics::url::UrlOrNone" }, 533 { gecko = "StyleCssUrl", servo = "gecko::url::CssUrl" }, 534 { gecko = "StyleSpecifiedUrl", servo = "gecko::url::SpecifiedUrl" }, 535 { gecko = "StyleSpecifiedImageUrl", servo = "gecko::url::SpecifiedImageUrl" }, 536 { gecko = "StyleComputedUrl", servo = "gecko::url::ComputedUrl" }, 537 { gecko = "StyleComputedImageUrl", servo = "gecko::url::ComputedImageUrl" }, 538 { gecko = "StyleLoadData", servo = "gecko::url::LoadData" }, 539 { gecko = "StyleGenericFilter", servo = "values::generics::effects::Filter" }, 540 { gecko = "StyleGenericGradient", servo = "values::generics::image::Gradient" }, 541 { gecko = "StyleLineDirection", servo = "values::computed::image::LineDirection" }, 542 { gecko = "StyleGridTemplateAreas", servo = "values::computed::position::GridTemplateAreas" }, 543 { gecko = "StyleGenericGridLine", servo = "values::generics::grid::GridLine" }, 544 { gecko = "StyleGenericTrackSize", servo = "values::generics::grid::TrackSize" }, 545 { gecko = "StyleGenericTrackBreadth", servo = "values::generics::grid::TrackBreadth" }, 546 { gecko = "StyleGenericImplicitGridTracks", servo = "values::generics::grid::ImplicitGridTracks" }, 547 { gecko = "StyleImplicitGridTracks", servo = "values::computed::ImplicitGridTracks" }, 548 { gecko = "StyleNumberOrPercentage", servo = "values::computed::NumberOrPercentage" }, 549 { gecko = "StyleGenericSVGPaint", servo = "values::generics::svg::SVGPaint" }, 550 { gecko = "StyleGenericTrackRepeat", servo = "values::generics::grid::TrackRepeat" }, 551 { gecko = "StyleGenericTrackListValue", servo = "values::generics::grid::TrackListValue" }, 552 { gecko = "StyleGenericTrackList", servo = "values::generics::grid::TrackList" }, 553 { gecko = "StyleGenericGridTemplateComponent", servo = "values::generics::grid::GridTemplateComponent" }, 554 { gecko = "StyleTextEmphasisStyle", servo = "values::computed::text::TextEmphasisStyle" }, 555 { gecko = "StyleVariantAlternatesList", servo = "values::specified::font::VariantAlternatesList" }, 556 { gecko = "StyleSVGPaintOrder", servo = "values::specified::svg::SVGPaintOrder" }, 557 { gecko = "StyleClipRectOrAuto", servo = "values::computed::ClipRectOrAuto" }, 558 { gecko = "StyleCounterSetOrReset", servo = "values::computed::CounterSetOrReset" }, 559 { gecko = "StyleCounterIncrement", servo = "values::computed::CounterIncrement" }, 560 { gecko = "StyleContent", servo = "values::computed::counters::Content" }, 561 { gecko = "StyleSymbolsType", servo = "values::generics::SymbolsType" }, 562 { gecko = "StyleCounterStyle", servo = "values::generics::CounterStyle" }, 563 { gecko = "StyleComputedJustifyItems", servo = "values::computed::align::ComputedJustifyItems" }, 564 { gecko = "StyleAlignItems", servo = "values::computed::AlignItems" }, 565 { gecko = "StyleJustifySelf", servo = "values::computed::JustifySelf" }, 566 { gecko = "StyleAlignSelf", servo = "values::computed::AlignSelf" }, 567 { gecko = "StyleAlignContent", servo = "values::computed::align::AlignContent" }, 568 { gecko = "StyleJustifyTracks", servo = "values::computed::align::JustifyTracks" }, 569 { gecko = "StyleAlignTracks", servo = "values::computed::align::AlignTracks" }, 570 { gecko = "StyleJustifyContent", servo = "values::computed::align::JustifyContent" }, 571 { gecko = "StyleComputedValueFlags", servo = "computed_value_flags::ComputedValueFlags" }, 572 { gecko = "StyleImage", servo = "values::computed::Image" }, 573 { gecko = "StyleShapeOutside", servo = "values::computed::basic_shape::ShapeOutside" }, 574 { gecko = "StyleClipPath", servo = "values::computed::basic_shape::ClipPath" }, 575 { gecko = "StyleGridAutoFlow", servo = "values::computed::GridAutoFlow" }, 576 { gecko = "StyleCursor", servo = "values::computed::Cursor" }, 577 { gecko = "StyleSVGStrokeDashArray", servo = "values::computed::svg::SVGStrokeDashArray" }, 578 { gecko = "StyleSVGWidth", servo = "values::computed::svg::SVGWidth" }, 579 { gecko = "StyleSVGOpacity", servo = "values::computed::svg::SVGOpacity" }, 580 { gecko = "StyleSVGLength", servo = "values::computed::svg::SVGLength" }, 581] 582 583mapped-generic-types = [ 584 { generic = true, gecko = "mozilla::RustCell", servo = "::std::cell::Cell" }, 585 { generic = false, gecko = "ServoNodeData", servo = "AtomicRefCell<ElementData>" }, 586 { generic = false, gecko = "mozilla::ServoWritingMode", servo = "::logical_geometry::WritingMode" }, 587 { generic = false, gecko = "mozilla::ServoCustomPropertiesMap", servo = "Option<::servo_arc::Arc<::custom_properties::CustomPropertiesMap>>" }, 588 { generic = false, gecko = "mozilla::ServoRuleNode", servo = "Option<::rule_tree::StrongRuleNode>" }, 589 { generic = false, gecko = "mozilla::ServoVisitedStyle", servo = "Option<::servo_arc::RawOffsetArc<::properties::ComputedValues>>" }, 590 { generic = true, gecko = "mozilla::ServoRawOffsetArc", servo = "::servo_arc::RawOffsetArc" }, 591 { generic = true, gecko = "mozilla::ServoManuallyDrop", servo = "::std::mem::ManuallyDrop" }, 592 { generic = false, gecko = "nsACString", servo = "nsstring::nsACString" }, 593 { generic = false, gecko = "nsAString", servo = "nsstring::nsAString" }, 594 { generic = false, gecko = "nsCString", servo = "nsstring::nsCString" }, 595 { generic = false, gecko = "nsString", servo = "nsstring::nsString" }, 596] 597 598whitelist-functions = ["Servo_.*", "Gecko_.*"] 599