зеркало из https://github.com/mozilla/gecko-dev.git
646 строки
20 KiB
TOML
646 строки
20 KiB
TOML
[build]
|
|
args = [
|
|
"-x", "c++", "-std=c++14", "-fno-sized-deallocation",
|
|
"-DTRACING=1", "-DIMPL_LIBXUL", "-DMOZ_STYLO_BINDINGS=1",
|
|
"-DMOZILLA_INTERNAL_API", "-DRUST_BINDGEN"
|
|
]
|
|
"family=unix" = ["-DOS_POSIX=1"]
|
|
"os=solaris" = ["-DOS_SOLARIS=1"]
|
|
"os=dragonfly" = ["-DOS_BSD=1", "-DOS_DRAGONFLY=1"]
|
|
"os=freebsd" = ["-DOS_BSD=1", "-DOS_FREEBSD=1"]
|
|
"os=netbsd" = ["-DOS_BSD=1", "-DOS_NETBSD=1"]
|
|
"os=openbsd" = ["-DOS_BSD=1", "-DOS_OPENBSD=1"]
|
|
"os=macos" = [
|
|
"-DOS_MACOSX=1", "-stdlib=libc++",
|
|
# To disable the fixup bindgen applies which adds search
|
|
# paths from clang command line in order to avoid potential
|
|
# conflict with -stdlib=libc++.
|
|
"--target=x86_64-apple-darwin",
|
|
]
|
|
|
|
[build."os=linux"]
|
|
args = ["-DOS_LINUX=1"]
|
|
"arch=x86" = ["-m32"]
|
|
"arch=x86_64" = ["-m64"]
|
|
|
|
[build."os=android"]
|
|
args = ["-DOS_ANDROID=1"]
|
|
"arch=aarch64" = ["--target=aarch64-linux-android"]
|
|
"arch=arm" = ["--target=armv7-linux-androideabi"]
|
|
"arch=x86" = ["--target=i686-linux-android"]
|
|
|
|
[build."os=windows"."env=msvc"]
|
|
args = [
|
|
"-DOS_WIN=1", "-DWIN32=1",
|
|
# For compatibility with MSVC 2015
|
|
"-fms-compatibility-version=19",
|
|
# To enable the builtin __builtin_offsetof so that CRT wouldn't
|
|
# use reinterpret_cast in offsetof() which is not allowed inside
|
|
# static_assert().
|
|
"-D_CRT_USE_BUILTIN_OFFSETOF",
|
|
# Enable hidden attribute (which is not supported by MSVC and
|
|
# thus not enabled by default with a MSVC-compatibile build)
|
|
# to exclude hidden symbols from the generated file.
|
|
"-DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1",
|
|
]
|
|
"arch=x86" = ["--target=i686-pc-win32"]
|
|
"arch=x86_64" = ["--target=x86_64-pc-win32"]
|
|
|
|
[structs]
|
|
headers = [
|
|
"nsStyleStruct.h",
|
|
"mozilla/StyleAnimationValue.h",
|
|
"gfxFontConstants.h",
|
|
"gfxFontFeatures.h",
|
|
"nsThemeConstants.h",
|
|
"mozilla/css/Loader.h",
|
|
"mozilla/css/SheetLoadData.h",
|
|
"mozilla/dom/AnimationEffectReadOnlyBinding.h",
|
|
"mozilla/dom/HTMLSlotElement.h",
|
|
"mozilla/dom/KeyframeEffectBinding.h",
|
|
"mozilla/dom/ShadowRoot.h",
|
|
"mozilla/AnimationPropertySegment.h",
|
|
"mozilla/ComputedTiming.h",
|
|
"mozilla/ComputedTimingFunction.h",
|
|
"mozilla/Keyframe.h",
|
|
"mozilla/ServoElementSnapshot.h",
|
|
"mozilla/ServoElementSnapshotTable.h",
|
|
"mozilla/css/ErrorReporter.h",
|
|
"mozilla/dom/Element.h",
|
|
"mozilla/dom/ChildIterator.h",
|
|
"mozilla/dom/NameSpaceConstants.h",
|
|
"mozilla/LookAndFeel.h",
|
|
"mozilla/StaticPrefs.h",
|
|
"mozilla/ServoBindings.h",
|
|
"mozilla/ServoMediaList.h",
|
|
"mozilla/ComputedStyle.h",
|
|
"mozilla/ServoDeclarationBlock.h",
|
|
"mozilla/ServoTraversalStatistics.h",
|
|
"mozilla/SizeOfState.h",
|
|
"nsContentUtils.h",
|
|
"nsNameSpaceManager.h",
|
|
"nsMediaFeatures.h",
|
|
"nsXBLBinding.h",
|
|
]
|
|
raw-lines = [
|
|
# FIXME(emilio): Incrementally remove these "pub use"s. Probably
|
|
# mozilla::css and mozilla::dom are easier.
|
|
"pub use self::root::*;",
|
|
"pub use self::root::mozilla::*;",
|
|
"pub use self::root::mozilla::css::*;",
|
|
"pub use self::root::mozilla::dom::*;",
|
|
"use atomic_refcell::AtomicRefCell;",
|
|
"use data::ElementData;",
|
|
]
|
|
hide-types = [
|
|
"nsString",
|
|
".*char_traits",
|
|
".*incompatible_char_type",
|
|
# JS::Value and JS::UninitializedValue use alignas(8) which bindgen
|
|
# can't represent correctly on Linux 32-bit. See
|
|
# https://github.com/rust-lang-nursery/rust-bindgen/issues/917.
|
|
# It's also not used by Stylo. The following types are also hidden for
|
|
# making use of it and being similarly unused by Stylo.
|
|
"JS::Value",
|
|
"JS::UninitializedValue",
|
|
"mozilla::binding_danger::TErrorResult.*",
|
|
"mozilla::ErrorResult.*", # Causes JSWhyMagic to be included & handled incorrectly.
|
|
"mozilla::dom::CallbackFunction",
|
|
"mozilla::dom::CallbackObject.*",
|
|
"nsINode_ErrorResult",
|
|
"nsDOMAttributeMap_ErrorResult",
|
|
# End of JS::Value related types
|
|
]
|
|
bitfield-enums = [
|
|
"nsChangeHint",
|
|
"nsRestyleHint",
|
|
"mozilla::OriginFlags",
|
|
]
|
|
rusty-enums = [
|
|
"nsCompatibility",
|
|
"mozilla::EffectCompositor_CascadeLevel",
|
|
"mozilla::SheetType",
|
|
"mozilla::dom::CallerType",
|
|
"mozilla::dom::IterationCompositeOperation",
|
|
"mozilla::dom::CompositeOperation",
|
|
"mozilla::InheritTarget",
|
|
"mozilla::FontFamilyType",
|
|
"mozilla::css::URLMatchingFunction",
|
|
"mozilla::css::SheetParsingMode",
|
|
"nsStyleContentType",
|
|
"nsStyleSVGOpacitySource",
|
|
"nsStyleUnit",
|
|
"nsCSSKeyword",
|
|
"nsIDocument_DocumentTheme",
|
|
"nsIDocument_Type",
|
|
"nsCSSUnit",
|
|
"nsCSSFontDesc",
|
|
"nsCSSPropertyID",
|
|
"nsCSSCounterDesc",
|
|
"nsMediaFeature_RangeType",
|
|
"nsMediaFeature_ValueType",
|
|
"nsresult",
|
|
"nsAtom_AtomKind",
|
|
"nsStyleImageLayers_LayerType",
|
|
"nsStyleImageOrientation_Angles",
|
|
"nsTimingFunction_Type",
|
|
"mozilla::ServoElementSnapshotFlags",
|
|
"mozilla::Side",
|
|
"mozilla::dom::PlaybackDirection",
|
|
"mozilla::dom::FillMode",
|
|
"mozilla::HalfCorner",
|
|
"mozilla::StyleDisplay",
|
|
"mozilla::StyleFloatEdge",
|
|
"mozilla::StyleShapeRadius",
|
|
"mozilla::StyleWindowDragging",
|
|
"mozilla::StyleOrient",
|
|
"mozilla::StyleBoxSizing",
|
|
"mozilla::StyleClear",
|
|
"mozilla::StyleFloat",
|
|
"mozilla::StyleUserModify",
|
|
"mozilla::StyleUserInput",
|
|
"mozilla::StyleBoxDirection",
|
|
"mozilla::StyleTextJustify",
|
|
"mozilla::StyleHyphens",
|
|
"mozilla::StyleFillRule",
|
|
"mozilla::StyleShapeSourceType",
|
|
"mozilla::StyleBasicShapeType",
|
|
"nsStyleImageLayers_Size_DimensionType",
|
|
"mozilla::StyleStackSizing",
|
|
"mozilla::StyleBorderImageRepeat",
|
|
"mozilla::StyleBoxPack",
|
|
"mozilla::StyleBoxOrient",
|
|
"mozilla::StyleBoxAlign",
|
|
"mozilla::StyleUserFocus",
|
|
"mozilla::StyleUserSelect",
|
|
"mozilla::StyleImageLayerRepeat",
|
|
"mozilla::StyleBoxDecorationBreak",
|
|
"mozilla::StyleRuleInclusion",
|
|
"mozilla::StyleGridTrackBreadth",
|
|
"mozilla::StyleOverscrollBehavior",
|
|
"mozilla::StyleWhiteSpace",
|
|
"nsStyleImageType",
|
|
"nsStyleSVGPaintType",
|
|
"nsStyleSVGFallbackType",
|
|
"nsINode_BooleanFlag",
|
|
"mozilla::CSSPseudoElementType",
|
|
"mozilla::LookAndFeel_ColorID",
|
|
"mozilla::LookAndFeel_FontID",
|
|
"nsStyleTransformMatrix::MatrixTransformOperator",
|
|
"mozilla::StyleGeometryBox",
|
|
"mozilla::SystemColor",
|
|
]
|
|
whitelist-vars = [
|
|
"NS_AUTHOR_SPECIFIED_.*",
|
|
"NS_THEME_.*",
|
|
"NODE_.*",
|
|
"ELEMENT_.*",
|
|
"NS_FONT_.*",
|
|
"NS_STYLE_.*",
|
|
"NS_MATHML_.*",
|
|
"NS_RADIUS_.*",
|
|
"BORDER_COLOR_.*",
|
|
"BORDER_STYLE_.*",
|
|
"CSS_PSEUDO_ELEMENT_.*",
|
|
"SERVO_CSS_PSEUDO_ELEMENT_FLAGS_.*",
|
|
"kNameSpaceID_.*",
|
|
"kGenericFont_.*",
|
|
"kPresContext_.*",
|
|
"nsContentUtils_.*",
|
|
"GECKO_IS_NIGHTLY",
|
|
]
|
|
whitelist-types = [
|
|
"RawGecko.*",
|
|
"mozilla::AnimationPropertySegment",
|
|
"mozilla::AnonymousCounterStyle",
|
|
"mozilla::AtomArray",
|
|
"mozilla::ComputedTiming",
|
|
"mozilla::ComputedTimingFunction",
|
|
"mozilla::ComputedTimingFunction::BeforeFlag",
|
|
"mozilla::SeenPtrs",
|
|
"mozilla::ServoElementSnapshot.*",
|
|
"mozilla::ComputedStyle",
|
|
"mozilla::ServoStyleSheet",
|
|
"mozilla::ServoStyleSheetInner",
|
|
"mozilla::ServoStyleSetSizes",
|
|
"mozilla::ServoTraversalStatistics",
|
|
"mozilla::css::ErrorReporter",
|
|
"mozilla::css::LoaderReusableStyleSheets",
|
|
"mozilla::css::SheetLoadData",
|
|
"mozilla::css::SheetLoadDataHolder",
|
|
"mozilla::css::SheetParsingMode",
|
|
"mozilla::css::URLMatchingFunction",
|
|
"mozilla::dom::IterationCompositeOperation",
|
|
"mozilla::dom::StyleChildrenIterator",
|
|
"mozilla::HalfCorner",
|
|
"mozilla::MallocSizeOf",
|
|
"mozilla::OriginFlags",
|
|
"mozilla::PropertyStyleAnimationValuePair",
|
|
"mozilla::ServoTraversalFlags",
|
|
"mozilla::StaticPrefs",
|
|
"mozilla::StyleShapeRadius",
|
|
"mozilla::StyleGrid.*",
|
|
"mozilla::UpdateAnimationsTasks",
|
|
"mozilla::LookAndFeel",
|
|
"mozilla::gfx::Float",
|
|
"mozilla::gfx::FontVariation",
|
|
".*ThreadSafe.*Holder",
|
|
"AnonymousContent",
|
|
"AudioContext",
|
|
"CapturingContentInfo",
|
|
"DefaultDelete",
|
|
"DOMIntersectionObserverEntry",
|
|
"Element",
|
|
"FontFamilyList",
|
|
"FontFamilyName",
|
|
"FontSizePrefs",
|
|
"FragmentOrURL",
|
|
"FrameRequestCallback",
|
|
"GeckoParserExtraData",
|
|
"GeckoFontMetrics",
|
|
"gfxAlternateValue",
|
|
"gfxFontFeature",
|
|
"gfxFontFeatureValueSet",
|
|
"gfxFontVariation",
|
|
"GridNamedArea",
|
|
"mozilla::HalfCorner",
|
|
"Image",
|
|
"ImageURL",
|
|
"Keyframe",
|
|
"MediumFeaturesChangedResult",
|
|
"nsAttrName",
|
|
"nsAttrValue",
|
|
"nscolor",
|
|
"nsChangeHint",
|
|
"nsCSSCounterDesc",
|
|
"nsCSSFontDesc",
|
|
"nsCSSKeyword",
|
|
"nsCSSPropertyID",
|
|
"nsCSSPropertyIDSet",
|
|
"nsCSSProps",
|
|
"nsCSSShadowArray",
|
|
"nsCSSValue",
|
|
"nsCSSValueList",
|
|
"nsCSSValueList_heap",
|
|
"nsCSSValuePair_heap",
|
|
"nsCSSValuePairList",
|
|
"nsCSSValuePairList_heap",
|
|
"nsCSSValueTriplet_heap",
|
|
"nsCursorImage",
|
|
"nsFont",
|
|
"nsAtom",
|
|
"nsDynamicAtom",
|
|
"nsMargin",
|
|
"nsMediaFeature",
|
|
"nsMediaFeatures",
|
|
"nsMediaList",
|
|
"nsRect",
|
|
"nsRestyleHint",
|
|
"nsresult",
|
|
"nsSimpleContentList",
|
|
"nsSize",
|
|
"nsStyleBackground",
|
|
"nsStyleBorder",
|
|
"nsStyleColor",
|
|
"nsStyleColumn",
|
|
"nsStyleContent",
|
|
"nsStyleContentData",
|
|
"ComputedStyle",
|
|
"nsStyleCoord",
|
|
"nsStyleCounterData",
|
|
"nsStyleDisplay",
|
|
"nsStyleEffects",
|
|
"nsStyleFilter",
|
|
"nsStyleFont",
|
|
"nsStyleGradient",
|
|
"nsStyleGradientStop",
|
|
"nsStyleGridTemplate",
|
|
"nsStyleImage",
|
|
"nsStyleImageLayers",
|
|
"nsStyleList",
|
|
"nsStyleMargin",
|
|
"nsStyleOutline",
|
|
"nsStylePadding",
|
|
"nsStylePosition",
|
|
"nsStyleSides",
|
|
"nsStyleSVG",
|
|
"nsStyleSVGOpacitySource",
|
|
"nsStyleSVGPaint",
|
|
"nsStyleSVGReset",
|
|
"nsStyleTable",
|
|
"nsStyleTableBorder",
|
|
"nsStyleText",
|
|
"nsStyleTextReset",
|
|
"nsStyleUIReset",
|
|
"nsStyleUnion",
|
|
"nsStyleUnit",
|
|
"nsStyleUserInterface",
|
|
"nsStyleVisibility",
|
|
"nsStyleXUL",
|
|
"nsTArrayHeader",
|
|
"Position",
|
|
"PropertyValuePair",
|
|
"Runnable",
|
|
"ServoAttrSnapshot",
|
|
"ServoBundledURI",
|
|
"ServoComputedData",
|
|
"ServoComputedDataBorrowed",
|
|
"ServoElementSnapshot",
|
|
"ComputedStyleStrong",
|
|
"ComputedStyleBorrowed",
|
|
"ComputedStyleBorrowedOrNull",
|
|
"SheetParsingMode",
|
|
"StaticRefPtr",
|
|
"StyleAnimation",
|
|
"StyleBasicShapeType",
|
|
"StyleGeometryBox",
|
|
"StyleShapeSource",
|
|
"StyleTransition",
|
|
"ThemeWidgetType",
|
|
"mozilla::UniquePtr",
|
|
"mozilla::DefaultDelete",
|
|
"mozilla::Side",
|
|
"mozilla::binding_danger::AssertAndSuppressCleanupPolicy",
|
|
"mozilla::ParsingMode",
|
|
"mozilla::InheritTarget",
|
|
"mozilla::ServoDeclarationBlock",
|
|
"mozilla::ServoMediaList",
|
|
"mozilla::StyleRuleInclusion",
|
|
"nsStyleTransformMatrix::MatrixTransformOperator",
|
|
]
|
|
opaque-types = [
|
|
"std::pair__PCCP",
|
|
"std::namespace::atomic___base", "std::atomic__My_base",
|
|
"std::atomic",
|
|
"std::atomic___base",
|
|
# We want everything but FontVariation and Float to be opaque but we don't
|
|
# have negative regexes.
|
|
"mozilla::gfx::(.{0,4}|.{6,12}|.{14,}|([^F][^o][^n][^t][^V][^a][^r][^i][^a][^t][^i][^o][^n])|([^F][^l][^o][^a][^t]))",
|
|
"mozilla::dom::Sequence",
|
|
"mozilla::dom::Optional",
|
|
"mozilla::dom::OwningNodeOrString_Value",
|
|
"mozilla::dom::Nullable",
|
|
"mozilla::external::AtomicRefCounted",
|
|
"RefPtr_Proxy",
|
|
"RefPtr_Proxy_member_function",
|
|
"nsAutoPtr_Proxy",
|
|
"nsAutoPtr_Proxy_member_function",
|
|
"mozilla::detail::PointerType",
|
|
"mozilla::Pair_Base",
|
|
"mozilla::SeenPtrs",
|
|
"mozilla::SupportsWeakPtr",
|
|
"SupportsWeakPtr",
|
|
"mozilla::detail::WeakReference",
|
|
"mozilla::WeakPtr",
|
|
"nsWritingIterator_reference", "nsReadingIterator_reference",
|
|
"nsTObserverArray", # <- Inherits from nsAutoTObserverArray<T, 0>
|
|
"nsTHashtable", # <- Inheriting from inner typedefs that clang
|
|
# doesn't expose properly.
|
|
"nsBaseHashtable", "nsRefPtrHashtable", "nsDataHashtable", "nsClassHashtable", # <- Ditto
|
|
"nsInterfaceHashtable", # <- Ditto
|
|
"nsIDocument_SelectorCache", # <- Inherits from nsExpirationTracker<.., 4>
|
|
"nsIPresShell_ScrollAxis", # <- For some reason the alignment of this is 4
|
|
# for clang.
|
|
"nsPIDOMWindow", # <- Takes the vtable from a template parameter, and we can't
|
|
# generate it conditionally.
|
|
"JS::Rooted",
|
|
"mozilla::Maybe",
|
|
"gfxSize", # <- union { struct { T width; T height; }; T components[2] };
|
|
"gfxSize_Super", # Ditto.
|
|
"mozilla::StyleAnimationValue",
|
|
"StyleAnimationValue", # pulls in a whole bunch of stuff we don't need in the bindings
|
|
"mozilla::dom::.*Callback", # Pulls in ErrorResult and other things that
|
|
# don't align properly on Linux 32-bit
|
|
"mozilla::SchedulerGroup", # Non-standard-layout packing of field into superclass
|
|
]
|
|
mapped-generic-types = [
|
|
{ generic = true, gecko = "mozilla::ServoUnsafeCell", servo = "::std::cell::UnsafeCell" },
|
|
{ generic = true, gecko = "mozilla::ServoCell", servo = "::std::cell::Cell" },
|
|
{ generic = false, gecko = "ServoNodeData", servo = "AtomicRefCell<ElementData>" },
|
|
{ generic = false, gecko = "mozilla::ServoWritingMode", servo = "::logical_geometry::WritingMode" },
|
|
{ generic = false, gecko = "mozilla::ServoCustomPropertiesMap", servo = "Option<::servo_arc::Arc<::custom_properties::CustomPropertiesMap>>" },
|
|
{ generic = false, gecko = "mozilla::ServoRuleNode", servo = "Option<::rule_tree::StrongRuleNode>" },
|
|
{ generic = false, gecko = "mozilla::ServoVisitedStyle", servo = "Option<::servo_arc::RawOffsetArc<::properties::ComputedValues>>" },
|
|
{ generic = false, gecko = "mozilla::ServoComputedValueFlags", servo = "::properties::computed_value_flags::ComputedValueFlags" },
|
|
{ generic = true, gecko = "mozilla::ServoRawOffsetArc", servo = "::servo_arc::RawOffsetArc" },
|
|
{ generic = false, gecko = "ComputedStyleStrong", servo = "::gecko_bindings::sugar::ownership::Strong<::properties::ComputedValues>" },
|
|
]
|
|
fixups = [
|
|
{ pat = "\\broot\\s*::\\s*nsString\\b", rep = "::nsstring::nsStringRepr" },
|
|
{ pat = "\\broot\\s*::\\s*nsTString\\s*<\\s*u16\\s*>", rep = "::nsstring::nsStringRepr" },
|
|
]
|
|
|
|
[bindings]
|
|
headers = ["mozilla/ServoBindings.h"]
|
|
hide-types = [
|
|
"nsACString_internal",
|
|
"nsAString_internal",
|
|
"ComputedStyleBorrowed",
|
|
"ComputedStyleBorrowedOrNull",
|
|
]
|
|
raw-lines = [
|
|
"pub use nsstring::{nsACString, nsAString, nsString, nsStringRepr};",
|
|
"use gecko_bindings::structs::nsStyleTransformMatrix;",
|
|
"use gecko_bindings::structs::nsTArray;",
|
|
"type nsACString_internal = nsACString;",
|
|
"type nsAString_internal = nsAString;",
|
|
"pub type ComputedStyleBorrowed<'a> = &'a ::properties::ComputedValues;",
|
|
"pub type ComputedStyleBorrowedOrNull<'a> = Option<&'a ::properties::ComputedValues>;",
|
|
"pub type ServoComputedDataBorrowed<'a> = &'a ServoComputedData;",
|
|
"pub type RawServoAnimationValueTableBorrowed<'a> = &'a ();"
|
|
]
|
|
whitelist-functions = ["Servo_.*", "Gecko_.*"]
|
|
structs-types = [
|
|
"mozilla::css::GridTemplateAreasValue",
|
|
"mozilla::css::ErrorReporter",
|
|
"mozilla::css::ImageValue",
|
|
"mozilla::css::URLValue",
|
|
"mozilla::css::URLValueData",
|
|
"mozilla::dom::CallerType",
|
|
"mozilla::AnonymousCounterStyle",
|
|
"mozilla::AtomArray",
|
|
"mozilla::FontWeight",
|
|
"mozilla::MallocSizeOf",
|
|
"mozilla::OriginFlags",
|
|
"mozilla::UniquePtr",
|
|
"ServoRawOffsetArc",
|
|
"nsIContent",
|
|
"nsIDocument",
|
|
"nsIDocument_DocumentTheme",
|
|
"nsSimpleContentList",
|
|
"MediumFeaturesChangedResult",
|
|
"RawGeckoAnimationPropertySegment",
|
|
"RawGeckoComputedTiming",
|
|
"RawGeckoCSSPropertyIDList",
|
|
"RawGeckoDocument",
|
|
"RawGeckoElement",
|
|
"Element",
|
|
"RawGeckoKeyframeList",
|
|
"RawGeckoPropertyValuePairList",
|
|
"RawGeckoComputedKeyframeValuesList",
|
|
"RawGeckoFontFaceRuleList",
|
|
"RawGeckoNode",
|
|
"RawServoAnimationValue",
|
|
"RawServoFontFaceRule",
|
|
"RawGeckoServoAnimationValueList",
|
|
"RawServoMediaList",
|
|
"RawServoStyleSheetContents",
|
|
"RawServoDeclarationBlock",
|
|
"RawServoStyleRule",
|
|
"RawGeckoPresContext",
|
|
"RawGeckoPresContextOwned",
|
|
"RawGeckoStyleAnimationList",
|
|
"RawGeckoStyleChildrenIterator",
|
|
"RawGeckoServoStyleRuleList",
|
|
"RawGeckoURLExtraData",
|
|
"RawGeckoXBLBinding",
|
|
"RawServoSelectorList",
|
|
"RawServoSourceSizeList",
|
|
"RefPtr",
|
|
"RustString",
|
|
"CSSPseudoElementType",
|
|
"ServoTraversalFlags",
|
|
"ComputedTimingFunction_BeforeFlag",
|
|
"CounterStylePtr",
|
|
"FontFamilyType",
|
|
"FontSizePrefs",
|
|
"GeckoFontMetrics",
|
|
"IterationCompositeOperation",
|
|
"Keyframe",
|
|
"PropertyValuePair",
|
|
"SeenPtrs",
|
|
"ServoBundledURI",
|
|
"ServoElementSnapshot",
|
|
"ServoElementSnapshotTable",
|
|
"ServoStyleSetSizes",
|
|
"SheetParsingMode",
|
|
"StyleBasicShapeType",
|
|
"StyleShapeSource",
|
|
"StyleTransition",
|
|
"gfxFontFeatureValueSet",
|
|
"nsCSSCounterDesc",
|
|
"nsCSSFontDesc",
|
|
"nsCSSKeyword",
|
|
"nsCSSPropertyID",
|
|
"nsCSSPropertyIDSet",
|
|
"nsCSSShadowArray",
|
|
"nsCSSUnit",
|
|
"nsCSSValue",
|
|
"nsCSSValueSharedList",
|
|
"nsChangeHint",
|
|
"nsCursorImage",
|
|
"nsFont",
|
|
"nsAtom",
|
|
"nsIURI",
|
|
"nsCompatibility",
|
|
"nsRestyleHint",
|
|
"nsStyleBackground",
|
|
"nsStyleBorder",
|
|
"nsStyleColor",
|
|
"nsStyleColumn",
|
|
"nsStyleContent",
|
|
"nsStyleContentData",
|
|
"nsStyleContentData_CounterFunction",
|
|
"nsStyleContentType",
|
|
"ComputedStyle",
|
|
"nsStyleCoord",
|
|
"nsStyleCoord_Calc",
|
|
"nsStyleCoord_CalcValue",
|
|
"nsStyleDisplay",
|
|
"nsStyleEffects",
|
|
"nsStyleFilter",
|
|
"nsStyleFont",
|
|
"nsStyleGradient",
|
|
"nsStyleGradientStop",
|
|
"nsStyleGridTemplate",
|
|
"nsStyleImage",
|
|
"nsStyleImageLayers",
|
|
"nsStyleImageLayers_Layer",
|
|
"nsStyleImageLayers_LayerType",
|
|
"nsStyleImageRequest",
|
|
"nsStyleList",
|
|
"nsStyleMargin",
|
|
"nsStyleOutline",
|
|
"nsStylePadding",
|
|
"nsStylePosition",
|
|
"nsStyleQuoteValues",
|
|
"nsStyleSVG",
|
|
"nsStyleSVGOpacitySource",
|
|
"nsStyleSVGPaint",
|
|
"nsStyleSVGReset",
|
|
"nsStyleSides",
|
|
"nsStyleTable",
|
|
"nsStyleTableBorder",
|
|
"nsStyleText",
|
|
"nsStyleTextReset",
|
|
"nsStyleUIReset",
|
|
"nsStyleUnion",
|
|
"nsStyleUnit",
|
|
"nsStyleUserInterface",
|
|
"nsStyleVisibility",
|
|
"nsStyleXUL",
|
|
"nsTimingFunction",
|
|
"nscolor",
|
|
"nscoord",
|
|
"nsresult",
|
|
"Loader",
|
|
"LoaderReusableStyleSheets",
|
|
"SheetLoadData",
|
|
"SheetLoadDataHolder",
|
|
"ServoStyleSheet",
|
|
"ServoComputedData",
|
|
"ComputedStyleStrong",
|
|
"EffectCompositor_CascadeLevel",
|
|
"UpdateAnimationsTasks",
|
|
"ParsingMode",
|
|
"InheritTarget",
|
|
"URLMatchingFunction",
|
|
"StyleAnimation",
|
|
"StyleRuleInclusion",
|
|
"nsStyleTransformMatrix::MatrixTransformOperator",
|
|
"RawGeckoGfxMatrix4x4",
|
|
"FontFamilyName",
|
|
"mozilla::SharedFontList",
|
|
]
|
|
array-types = [
|
|
{ cpp-type = "uintptr_t", rust-type = "usize" },
|
|
]
|
|
servo-owned-types = [
|
|
{ name = "RawServoStyleSet", opaque = true },
|
|
{ name = "RawServoAuthorStyles", opaque = true },
|
|
{ name = "RawServoSelectorList", opaque = false },
|
|
{ name = "RawServoSourceSizeList", opaque = false },
|
|
{ name = "ServoElementSnapshot", opaque = false },
|
|
{ name = "RawServoAnimationValueMap", opaque = true },
|
|
]
|
|
servo-immutable-borrow-types = [
|
|
"RawGeckoNode",
|
|
"RawGeckoElement",
|
|
"RawGeckoDocument",
|
|
"RawServoDeclarationBlockStrong",
|
|
"RawGeckoPresContext",
|
|
"RawGeckoXBLBinding",
|
|
]
|
|
servo-borrow-types = [
|
|
"nsCSSPropertyIDSet",
|
|
"nsCSSValue",
|
|
"nsTimingFunction",
|
|
"RawGeckoAnimationPropertySegment",
|
|
"RawGeckoComputedTiming",
|
|
"RawGeckoCSSPropertyIDList",
|
|
"RawGeckoKeyframeList",
|
|
"RawGeckoPropertyValuePairList",
|
|
"RawGeckoComputedKeyframeValuesList",
|
|
"RawGeckoFontFaceRuleList",
|
|
"RawGeckoServoStyleRuleList",
|
|
"RawGeckoServoAnimationValueList",
|
|
"RawGeckoStyleAnimationList",
|
|
"RawGeckoStyleChildrenIterator",
|
|
]
|
|
fixups = [
|
|
# Remap the templated string type to the helper type
|
|
{ pat = "\\bnsTString\\s*<\\s*u16\\s*>", rep = "nsString" },
|
|
# hack for gecko-owned string
|
|
{ pat = "<\\s*nsString\\s*", rep = "<nsStringRepr" },
|
|
]
|