LCOV - code coverage report
Current view: top level - layout/style - ServoBindingList.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 153 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 173 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* vim: set ts=8 sts=2 et sw=2 tw=80: */
       3             : /* This Source Code Form is subject to the terms of the Mozilla Public
       4             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       5             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       6             : 
       7             : /* a list of all Servo binding functions */
       8             : 
       9             : /* This file contains the list of all Servo binding functions. Each
      10             :  * entry is defined as a SERVO_BINDING_FUNC macro with the following
      11             :  * parameters:
      12             :  * - 'name_' the name of the binding function
      13             :  * - 'return_' the return type of the binding function
      14             :  * and the parameter list of the function.
      15             :  *
      16             :  * Users of this list should define a macro
      17             :  * SERVO_BINDING_FUNC(name_, return_, ...)
      18             :  * before including this file.
      19             :  */
      20             : 
      21             : // Element data
      22           0 : SERVO_BINDING_FUNC(Servo_Element_ClearData, void, RawGeckoElementBorrowed node)
      23             : 
      24             : // Styleset and Stylesheet management
      25           0 : SERVO_BINDING_FUNC(Servo_StyleSheet_FromUTF8Bytes, RawServoStyleSheetContentsStrong,
      26             :                    mozilla::css::Loader* loader,
      27             :                    mozilla::ServoStyleSheet* gecko_stylesheet,
      28             :                    const nsACString* data,
      29             :                    mozilla::css::SheetParsingMode parsing_mode,
      30             :                    RawGeckoURLExtraData* extra_data,
      31             :                    uint32_t line_number_offset,
      32             :                    nsCompatibility quirks_mode)
      33           0 : SERVO_BINDING_FUNC(Servo_StyleSheet_Empty, RawServoStyleSheetContentsStrong,
      34             :                    mozilla::css::SheetParsingMode parsing_mode)
      35           0 : SERVO_BINDING_FUNC(Servo_StyleSheet_HasRules, bool,
      36             :                    RawServoStyleSheetContentsBorrowed sheet)
      37           0 : SERVO_BINDING_FUNC(Servo_StyleSheet_GetRules, ServoCssRulesStrong,
      38             :                    RawServoStyleSheetContentsBorrowed sheet)
      39           0 : SERVO_BINDING_FUNC(Servo_StyleSheet_Clone, RawServoStyleSheetContentsStrong,
      40             :                    RawServoStyleSheetContentsBorrowed sheet,
      41             :                    const mozilla::ServoStyleSheet* reference_sheet);
      42           0 : SERVO_BINDING_FUNC(Servo_StyleSheet_SizeOfIncludingThis, size_t,
      43             :                    mozilla::MallocSizeOf malloc_size_of,
      44             :                    RawServoStyleSheetContentsBorrowed sheet)
      45           0 : SERVO_BINDING_FUNC(Servo_StyleSet_Init, RawServoStyleSetOwned, RawGeckoPresContextOwned pres_context)
      46           0 : SERVO_BINDING_FUNC(Servo_StyleSet_Clear, void,
      47             :                    RawServoStyleSetBorrowed set)
      48           0 : SERVO_BINDING_FUNC(Servo_StyleSet_RebuildData, void,
      49             :                    RawServoStyleSetBorrowed set)
      50           0 : SERVO_BINDING_FUNC(Servo_StyleSet_MediumFeaturesChanged, bool,
      51             :                    RawServoStyleSetBorrowed set)
      52           0 : SERVO_BINDING_FUNC(Servo_StyleSet_Drop, void, RawServoStyleSetOwned set)
      53           0 : SERVO_BINDING_FUNC(Servo_StyleSet_CompatModeChanged, void,
      54             :                    RawServoStyleSetBorrowed raw_data)
      55           0 : SERVO_BINDING_FUNC(Servo_StyleSet_AppendStyleSheet, void,
      56             :                    RawServoStyleSetBorrowed set,
      57             :                    const mozilla::ServoStyleSheet* gecko_sheet)
      58           0 : SERVO_BINDING_FUNC(Servo_StyleSet_PrependStyleSheet, void,
      59             :                    RawServoStyleSetBorrowed set,
      60             :                    const mozilla::ServoStyleSheet* gecko_sheet)
      61           0 : SERVO_BINDING_FUNC(Servo_StyleSet_RemoveStyleSheet, void,
      62             :                    RawServoStyleSetBorrowed set,
      63             :                    const mozilla::ServoStyleSheet* gecko_sheet)
      64           0 : SERVO_BINDING_FUNC(Servo_StyleSet_InsertStyleSheetBefore, void,
      65             :                    RawServoStyleSetBorrowed set,
      66             :                    const mozilla::ServoStyleSheet* gecko_sheet,
      67             :                    const mozilla::ServoStyleSheet* before)
      68           0 : SERVO_BINDING_FUNC(Servo_StyleSet_FlushStyleSheets, void, RawServoStyleSetBorrowed set,
      69             :                    RawGeckoElementBorrowedOrNull doc_elem)
      70           0 : SERVO_BINDING_FUNC(Servo_StyleSet_NoteStyleSheetsChanged, void,
      71             :                    RawServoStyleSetBorrowed set, bool author_style_disabled)
      72           0 : SERVO_BINDING_FUNC(Servo_StyleSet_GetKeyframesForName, bool,
      73             :                    RawServoStyleSetBorrowed set,
      74             :                    const nsACString* property,
      75             :                    nsTimingFunctionBorrowed timing_function,
      76             :                    RawGeckoKeyframeListBorrowedMut keyframe_list)
      77           0 : SERVO_BINDING_FUNC(Servo_StyleSet_GetFontFaceRules, void,
      78             :                    RawServoStyleSetBorrowed set,
      79             :                    RawGeckoFontFaceRuleListBorrowedMut list)
      80           0 : SERVO_BINDING_FUNC(Servo_StyleSet_GetCounterStyleRule, nsCSSCounterStyleRule*,
      81             :                    RawServoStyleSetBorrowed set, nsIAtom* name)
      82           0 : SERVO_BINDING_FUNC(Servo_StyleSet_ResolveForDeclarations,
      83             :                    ServoComputedValuesStrong,
      84             :                    RawServoStyleSetBorrowed set,
      85             :                    ServoComputedValuesBorrowedOrNull parent_style,
      86             :                    RawServoDeclarationBlockBorrowed declarations)
      87           0 : SERVO_BINDING_FUNC(Servo_StyleSet_MightHaveAttributeDependency, bool,
      88             :                    RawServoStyleSetBorrowed set,
      89             :                    RawGeckoElementBorrowed element,
      90             :                    nsIAtom* local_name)
      91           0 : SERVO_BINDING_FUNC(Servo_StyleSet_HasStateDependency, bool,
      92             :                    RawServoStyleSetBorrowed set,
      93             :                    RawGeckoElementBorrowed element,
      94             :                    uint64_t state)
      95             : 
      96             : // CSSRuleList
      97           0 : SERVO_BINDING_FUNC(Servo_CssRules_ListTypes, void,
      98             :                    ServoCssRulesBorrowed rules,
      99             :                    nsTArrayBorrowed_uintptr_t result)
     100           0 : SERVO_BINDING_FUNC(Servo_CssRules_InsertRule, nsresult,
     101             :                    ServoCssRulesBorrowed rules,
     102             :                    RawServoStyleSheetContentsBorrowed sheet,
     103             :                    const nsACString* rule,
     104             :                    uint32_t index,
     105             :                    bool nested,
     106             :                    mozilla::css::Loader* loader,
     107             :                    mozilla::ServoStyleSheet* gecko_stylesheet,
     108             :                    uint16_t* rule_type)
     109           0 : SERVO_BINDING_FUNC(Servo_CssRules_DeleteRule, nsresult,
     110             :                    ServoCssRulesBorrowed rules, uint32_t index)
     111             : 
     112             : // CSS Rules
     113             : #define BASIC_RULE_FUNCS_WITHOUT_GETTER(type_) \
     114             :   SERVO_BINDING_FUNC(Servo_##type_##_Debug, void, \
     115             :                      RawServo##type_##Borrowed rule, nsACString* result) \
     116             :   SERVO_BINDING_FUNC(Servo_##type_##_GetCssText, void, \
     117             :                      RawServo##type_##Borrowed rule, nsAString* result)
     118             : #define BASIC_RULE_FUNCS(type_) \
     119             :   SERVO_BINDING_FUNC(Servo_CssRules_Get##type_##RuleAt, \
     120             :                      RawServo##type_##RuleStrong, \
     121             :                      ServoCssRulesBorrowed rules, uint32_t index, \
     122             :                      uint32_t* line, uint32_t* column) \
     123             :   BASIC_RULE_FUNCS_WITHOUT_GETTER(type_##Rule)
     124             : #define GROUP_RULE_FUNCS(type_) \
     125             :   BASIC_RULE_FUNCS(type_) \
     126             :   SERVO_BINDING_FUNC(Servo_##type_##Rule_GetRules, ServoCssRulesStrong, \
     127             :                      RawServo##type_##RuleBorrowed rule)
     128           0 : BASIC_RULE_FUNCS(Style)
     129           0 : BASIC_RULE_FUNCS(Import)
     130           0 : BASIC_RULE_FUNCS_WITHOUT_GETTER(Keyframe)
     131           0 : BASIC_RULE_FUNCS(Keyframes)
     132           0 : GROUP_RULE_FUNCS(Media)
     133           0 : BASIC_RULE_FUNCS(Namespace)
     134           0 : BASIC_RULE_FUNCS(Page)
     135           0 : GROUP_RULE_FUNCS(Supports)
     136           0 : GROUP_RULE_FUNCS(Document)
     137             : #undef GROUP_RULE_FUNCS
     138             : #undef BASIC_RULE_FUNCS
     139             : #undef BASIC_RULE_FUNCS_WITHOUT_GETTER
     140           0 : SERVO_BINDING_FUNC(Servo_CssRules_GetFontFaceRuleAt, nsCSSFontFaceRule*,
     141             :                    ServoCssRulesBorrowed rules, uint32_t index)
     142           0 : SERVO_BINDING_FUNC(Servo_CssRules_GetCounterStyleRuleAt, nsCSSCounterStyleRule*,
     143             :                    ServoCssRulesBorrowed rules, uint32_t index)
     144           0 : SERVO_BINDING_FUNC(Servo_StyleRule_GetStyle, RawServoDeclarationBlockStrong,
     145             :                    RawServoStyleRuleBorrowed rule)
     146           0 : SERVO_BINDING_FUNC(Servo_StyleRule_SetStyle, void,
     147             :                    RawServoStyleRuleBorrowed rule,
     148             :                    RawServoDeclarationBlockBorrowed declarations)
     149           0 : SERVO_BINDING_FUNC(Servo_StyleRule_GetSelectorText, void,
     150             :                    RawServoStyleRuleBorrowed rule, nsAString* result)
     151           0 : SERVO_BINDING_FUNC(Servo_StyleRule_GetSelectorTextAtIndex, void,
     152             :                    RawServoStyleRuleBorrowed rule, uint32_t index,
     153             :                    nsAString* result)
     154           0 : SERVO_BINDING_FUNC(Servo_StyleRule_GetSpecificityAtIndex, void,
     155             :                    RawServoStyleRuleBorrowed rule, uint32_t index,
     156             :                    uint64_t* specificity)
     157           0 : SERVO_BINDING_FUNC(Servo_StyleRule_GetSelectorCount, void,
     158             :                    RawServoStyleRuleBorrowed rule, uint32_t* count)
     159           0 : SERVO_BINDING_FUNC(Servo_StyleRule_SelectorMatchesElement, bool,
     160             :                    RawServoStyleRuleBorrowed, RawGeckoElementBorrowed,
     161             :                    uint32_t index, mozilla::CSSPseudoElementType pseudo_type)
     162           0 : SERVO_BINDING_FUNC(Servo_ImportRule_GetHref, void,
     163             :                    RawServoImportRuleBorrowed rule, nsAString* result)
     164           0 : SERVO_BINDING_FUNC(Servo_ImportRule_GetSheet,
     165             :                    const mozilla::ServoStyleSheet*,
     166             :                    RawServoImportRuleBorrowed rule)
     167           0 : SERVO_BINDING_FUNC(Servo_Keyframe_GetKeyText, void,
     168             :                    RawServoKeyframeBorrowed keyframe, nsAString* result)
     169             : // Returns whether it successfully changes the key text.
     170           0 : SERVO_BINDING_FUNC(Servo_Keyframe_SetKeyText, bool,
     171             :                    RawServoKeyframeBorrowed keyframe, const nsACString* text)
     172           0 : SERVO_BINDING_FUNC(Servo_Keyframe_GetStyle, RawServoDeclarationBlockStrong,
     173             :                    RawServoKeyframeBorrowed keyframe)
     174           0 : SERVO_BINDING_FUNC(Servo_Keyframe_SetStyle, void,
     175             :                    RawServoKeyframeBorrowed keyframe,
     176             :                    RawServoDeclarationBlockBorrowed declarations)
     177           0 : SERVO_BINDING_FUNC(Servo_KeyframesRule_GetName, nsIAtom*,
     178             :                    RawServoKeyframesRuleBorrowed rule)
     179             : // This method takes an addrefed nsIAtom.
     180           0 : SERVO_BINDING_FUNC(Servo_KeyframesRule_SetName, void,
     181             :                    RawServoKeyframesRuleBorrowed rule, nsIAtom* name)
     182           0 : SERVO_BINDING_FUNC(Servo_KeyframesRule_GetCount, uint32_t,
     183             :                    RawServoKeyframesRuleBorrowed rule)
     184           0 : SERVO_BINDING_FUNC(Servo_KeyframesRule_GetKeyframe, RawServoKeyframeStrong,
     185             :                    RawServoKeyframesRuleBorrowed rule, uint32_t index)
     186             : // Returns the index of the rule, max value of uint32_t if nothing found.
     187           0 : SERVO_BINDING_FUNC(Servo_KeyframesRule_FindRule, uint32_t,
     188             :                    RawServoKeyframesRuleBorrowed rule, const nsACString* key)
     189             : // Returns whether it successfully appends the rule.
     190           0 : SERVO_BINDING_FUNC(Servo_KeyframesRule_AppendRule, bool,
     191             :                    RawServoKeyframesRuleBorrowed rule,
     192             :                    RawServoStyleSheetContentsBorrowed sheet,
     193             :                    const nsACString* css)
     194           0 : SERVO_BINDING_FUNC(Servo_KeyframesRule_DeleteRule, void,
     195             :                    RawServoKeyframesRuleBorrowed rule, uint32_t index)
     196           0 : SERVO_BINDING_FUNC(Servo_MediaRule_GetMedia, RawServoMediaListStrong,
     197             :                    RawServoMediaRuleBorrowed rule)
     198           0 : SERVO_BINDING_FUNC(Servo_NamespaceRule_GetPrefix, nsIAtom*,
     199             :                    RawServoNamespaceRuleBorrowed rule)
     200           0 : SERVO_BINDING_FUNC(Servo_NamespaceRule_GetURI, nsIAtom*,
     201             :                    RawServoNamespaceRuleBorrowed rule)
     202           0 : SERVO_BINDING_FUNC(Servo_PageRule_GetStyle, RawServoDeclarationBlockStrong,
     203             :                    RawServoPageRuleBorrowed rule)
     204           0 : SERVO_BINDING_FUNC(Servo_PageRule_SetStyle, void,
     205             :                    RawServoPageRuleBorrowed rule,
     206             :                    RawServoDeclarationBlockBorrowed declarations)
     207           0 : SERVO_BINDING_FUNC(Servo_SupportsRule_GetConditionText, void,
     208             :                    RawServoSupportsRuleBorrowed rule, nsAString* result)
     209           0 : SERVO_BINDING_FUNC(Servo_DocumentRule_GetConditionText, void,
     210             :                    RawServoDocumentRuleBorrowed rule, nsAString* result)
     211             : 
     212             : // Animations API
     213           0 : SERVO_BINDING_FUNC(Servo_ParseProperty,
     214             :                    RawServoDeclarationBlockStrong,
     215             :                    nsCSSPropertyID property, const nsACString* value,
     216             :                    RawGeckoURLExtraData* data,
     217             :                    mozilla::ParsingMode parsing_mode,
     218             :                    nsCompatibility quirks_mode,
     219             :                    mozilla::css::Loader* loader)
     220           0 : SERVO_BINDING_FUNC(Servo_ParseEasing, bool,
     221             :                    const nsAString* easing,
     222             :                    RawGeckoURLExtraData* data,
     223             :                    nsTimingFunctionBorrowedMut output)
     224           0 : SERVO_BINDING_FUNC(Servo_GetComputedKeyframeValues, void,
     225             :                    RawGeckoKeyframeListBorrowed keyframes,
     226             :                    RawGeckoElementBorrowed element,
     227             :                    ServoComputedValuesBorrowed style,
     228             :                    RawServoStyleSetBorrowed set,
     229             :                    RawGeckoComputedKeyframeValuesListBorrowedMut result)
     230           0 : SERVO_BINDING_FUNC(Servo_ComputedValues_ExtractAnimationValue,
     231             :                    RawServoAnimationValueStrong,
     232             :                    ServoComputedValuesBorrowed computed_values,
     233             :                    nsCSSPropertyID property)
     234           0 : SERVO_BINDING_FUNC(Servo_ComputedValues_SpecifiesAnimationsOrTransitions, bool,
     235             :                    ServoComputedValuesBorrowed computed_values)
     236           0 : SERVO_BINDING_FUNC(Servo_Property_IsAnimatable, bool,
     237             :                    nsCSSPropertyID property)
     238           0 : SERVO_BINDING_FUNC(Servo_Property_IsTransitionable, bool,
     239             :                    nsCSSPropertyID property)
     240           0 : SERVO_BINDING_FUNC(Servo_Property_IsDiscreteAnimatable, bool,
     241             :                    nsCSSPropertyID property)
     242           0 : SERVO_BINDING_FUNC(Servo_GetProperties_Overriding_Animation, void,
     243             :                    RawGeckoElementBorrowed,
     244             :                    RawGeckoCSSPropertyIDListBorrowed,
     245             :                    nsCSSPropertyIDSetBorrowedMut)
     246           0 : SERVO_BINDING_FUNC(Servo_MatrixTransform_Operate, void,
     247             :                    nsStyleTransformMatrix::MatrixTransformOperator
     248             :                      matrix_operator,
     249             :                    const RawGeckoGfxMatrix4x4* from,
     250             :                    const RawGeckoGfxMatrix4x4* to,
     251             :                    double progress,
     252             :                    RawGeckoGfxMatrix4x4* result)
     253           0 : SERVO_BINDING_FUNC(Servo_GetAnimationValues, void,
     254             :                    RawServoDeclarationBlockBorrowed declarations,
     255             :                    RawGeckoElementBorrowed element,
     256             :                    ServoComputedValuesBorrowed style,
     257             :                    RawServoStyleSetBorrowed style_set,
     258             :                    RawGeckoServoAnimationValueListBorrowedMut animation_values)
     259             : 
     260             : // AnimationValues handling
     261           0 : SERVO_BINDING_FUNC(Servo_AnimationValues_Interpolate,
     262             :                    RawServoAnimationValueStrong,
     263             :                    RawServoAnimationValueBorrowed from,
     264             :                    RawServoAnimationValueBorrowed to,
     265             :                    double progress)
     266           0 : SERVO_BINDING_FUNC(Servo_AnimationValues_IsInterpolable, bool,
     267             :                    RawServoAnimationValueBorrowed from,
     268             :                    RawServoAnimationValueBorrowed to)
     269           0 : SERVO_BINDING_FUNC(Servo_AnimationValues_Add,
     270             :                    RawServoAnimationValueStrong,
     271             :                    RawServoAnimationValueBorrowed a,
     272             :                    RawServoAnimationValueBorrowed b)
     273           0 : SERVO_BINDING_FUNC(Servo_AnimationValues_Accumulate,
     274             :                    RawServoAnimationValueStrong,
     275             :                    RawServoAnimationValueBorrowed a,
     276             :                    RawServoAnimationValueBorrowed b,
     277             :                    uint64_t count)
     278           0 : SERVO_BINDING_FUNC(Servo_AnimationValues_GetZeroValue,
     279             :                    RawServoAnimationValueStrong,
     280             :                    RawServoAnimationValueBorrowed value_to_match)
     281           0 : SERVO_BINDING_FUNC(Servo_AnimationValues_ComputeDistance, double,
     282             :                    RawServoAnimationValueBorrowed from,
     283             :                    RawServoAnimationValueBorrowed to)
     284           0 : SERVO_BINDING_FUNC(Servo_AnimationValue_Serialize, void,
     285             :                    RawServoAnimationValueBorrowed value,
     286             :                    nsCSSPropertyID property,
     287             :                    nsAString* buffer)
     288           0 : SERVO_BINDING_FUNC(Servo_Shorthand_AnimationValues_Serialize, void,
     289             :                    nsCSSPropertyID shorthand_property,
     290             :                    RawGeckoServoAnimationValueListBorrowed values,
     291             :                    nsAString* buffer)
     292           0 : SERVO_BINDING_FUNC(Servo_AnimationValue_GetOpacity, float,
     293             :                    RawServoAnimationValueBorrowed value)
     294           0 : SERVO_BINDING_FUNC(Servo_AnimationValue_GetTransform, void,
     295             :                    RawServoAnimationValueBorrowed value,
     296             :                    RefPtr<nsCSSValueSharedList>* list)
     297           0 : SERVO_BINDING_FUNC(Servo_AnimationValue_DeepEqual, bool,
     298             :                    RawServoAnimationValueBorrowed,
     299             :                    RawServoAnimationValueBorrowed)
     300           0 : SERVO_BINDING_FUNC(Servo_AnimationValue_Uncompute,
     301             :                    RawServoDeclarationBlockStrong,
     302             :                    RawServoAnimationValueBorrowed value)
     303           0 : SERVO_BINDING_FUNC(Servo_AnimationValue_Compute,
     304             :                    RawServoAnimationValueStrong,
     305             :                    RawGeckoElementBorrowed element,
     306             :                    RawServoDeclarationBlockBorrowed declarations,
     307             :                    ServoComputedValuesBorrowed style,
     308             :                    RawServoStyleSetBorrowed raw_data)
     309             : 
     310             : // Style attribute
     311           0 : SERVO_BINDING_FUNC(Servo_ParseStyleAttribute, RawServoDeclarationBlockStrong,
     312             :                    const nsACString* data,
     313             :                    RawGeckoURLExtraData* extra_data,
     314             :                    nsCompatibility quirks_mode,
     315             :                    mozilla::css::Loader* loader)
     316           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_CreateEmpty,
     317             :                    RawServoDeclarationBlockStrong)
     318           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_Clone, RawServoDeclarationBlockStrong,
     319             :                    RawServoDeclarationBlockBorrowed declarations)
     320           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_Equals, bool,
     321             :                    RawServoDeclarationBlockBorrowed a,
     322             :                    RawServoDeclarationBlockBorrowed b)
     323           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_GetCssText, void,
     324             :                    RawServoDeclarationBlockBorrowed declarations,
     325             :                    nsAString* result)
     326           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SerializeOneValue, void,
     327             :                    RawServoDeclarationBlockBorrowed declarations,
     328             :                    nsCSSPropertyID property, nsAString* buffer)
     329           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_Count, uint32_t,
     330             :                    RawServoDeclarationBlockBorrowed declarations)
     331           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_GetNthProperty, bool,
     332             :                    RawServoDeclarationBlockBorrowed declarations,
     333             :                    uint32_t index, nsAString* result)
     334           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_GetPropertyValue, void,
     335             :                    RawServoDeclarationBlockBorrowed declarations,
     336             :                    const nsACString* property, nsAString* value)
     337           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_GetPropertyValueById, void,
     338             :                    RawServoDeclarationBlockBorrowed declarations,
     339             :                    nsCSSPropertyID property, nsAString* value)
     340           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_GetPropertyIsImportant, bool,
     341             :                    RawServoDeclarationBlockBorrowed declarations,
     342             :                    const nsACString* property)
     343           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetProperty, bool,
     344             :                    RawServoDeclarationBlockBorrowed declarations,
     345             :                    const nsACString* property,
     346             :                    const nsACString* value, bool is_important,
     347             :                    RawGeckoURLExtraData* data,
     348             :                    mozilla::ParsingMode parsing_mode,
     349             :                    nsCompatibility quirks_mode,
     350             :                    mozilla::css::Loader* loader)
     351           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetPropertyById, bool,
     352             :                    RawServoDeclarationBlockBorrowed declarations,
     353             :                    nsCSSPropertyID property,
     354             :                    const nsACString* value, bool is_important,
     355             :                    RawGeckoURLExtraData* data,
     356             :                    mozilla::ParsingMode parsing_mode,
     357             :                    nsCompatibility quirks_mode,
     358             :                    mozilla::css::Loader* loader)
     359           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_RemoveProperty, void,
     360             :                    RawServoDeclarationBlockBorrowed declarations,
     361             :                    const nsACString* property)
     362           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_RemovePropertyById, void,
     363             :                    RawServoDeclarationBlockBorrowed declarations,
     364             :                    nsCSSPropertyID property)
     365           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_HasCSSWideKeyword, bool,
     366             :                    RawServoDeclarationBlockBorrowed declarations,
     367             :                    nsCSSPropertyID property)
     368             : // Compose animation value for a given property.
     369             : // |base_values| is nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>.
     370             : // We use void* to avoid exposing nsRefPtrHashtable in FFI.
     371           0 : SERVO_BINDING_FUNC(Servo_AnimationCompose, void,
     372             :                    RawServoAnimationValueMapBorrowedMut animation_values,
     373             :                    void* base_values,
     374             :                    nsCSSPropertyID property,
     375             :                    RawGeckoAnimationPropertySegmentBorrowed animation_segment,
     376             :                    RawGeckoAnimationPropertySegmentBorrowed last_segment,
     377             :                    RawGeckoComputedTimingBorrowed computed_timing,
     378             :                    mozilla::dom::IterationCompositeOperation iteration_composite)
     379             : 
     380             : // presentation attributes
     381           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_PropertyIsSet, bool,
     382             :                    RawServoDeclarationBlockBorrowed declarations,
     383             :                    nsCSSPropertyID property)
     384           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetIdentStringValue, void,
     385             :                    RawServoDeclarationBlockBorrowed declarations,
     386             :                    nsCSSPropertyID property,
     387             :                    nsIAtom* value)
     388           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetKeywordValue, void,
     389             :                    RawServoDeclarationBlockBorrowed declarations,
     390             :                    nsCSSPropertyID property,
     391             :                    int32_t value)
     392           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetIntValue, void,
     393             :                    RawServoDeclarationBlockBorrowed declarations,
     394             :                    nsCSSPropertyID property,
     395             :                    int32_t value)
     396           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetPixelValue, void,
     397             :                    RawServoDeclarationBlockBorrowed declarations,
     398             :                    nsCSSPropertyID property,
     399             :                    float value)
     400           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetLengthValue, void,
     401             :                    RawServoDeclarationBlockBorrowed declarations,
     402             :                    nsCSSPropertyID property,
     403             :                    float value,
     404             :                    nsCSSUnit unit)
     405           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetNumberValue, void,
     406             :                    RawServoDeclarationBlockBorrowed declarations,
     407             :                    nsCSSPropertyID property,
     408             :                    float value)
     409           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetPercentValue, void,
     410             :                    RawServoDeclarationBlockBorrowed declarations,
     411             :                    nsCSSPropertyID property,
     412             :                    float value)
     413           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetAutoValue, void,
     414             :                    RawServoDeclarationBlockBorrowed declarations,
     415             :                    nsCSSPropertyID property)
     416           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetCurrentColor, void,
     417             :                    RawServoDeclarationBlockBorrowed declarations,
     418             :                    nsCSSPropertyID property)
     419           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetColorValue, void,
     420             :                    RawServoDeclarationBlockBorrowed declarations,
     421             :                    nsCSSPropertyID property,
     422             :                    nscolor value)
     423           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetFontFamily, void,
     424             :                    RawServoDeclarationBlockBorrowed declarations,
     425             :                    const nsAString& value)
     426           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetTextDecorationColorOverride, void,
     427             :                    RawServoDeclarationBlockBorrowed declarations)
     428           0 : SERVO_BINDING_FUNC(Servo_DeclarationBlock_SetBackgroundImage, void,
     429             :                    RawServoDeclarationBlockBorrowed declarations,
     430             :                    const nsAString& value,
     431             :                    RawGeckoURLExtraData* extra_data)
     432             : 
     433             : // MediaList
     434           0 : SERVO_BINDING_FUNC(Servo_MediaList_Create, RawServoMediaListStrong)
     435           0 : SERVO_BINDING_FUNC(Servo_MediaList_DeepClone, RawServoMediaListStrong,
     436             :                    RawServoMediaListBorrowed list)
     437           0 : SERVO_BINDING_FUNC(Servo_MediaList_Matches, bool,
     438             :                    RawServoMediaListBorrowed list,
     439             :                    RawServoStyleSetBorrowed set)
     440           0 : SERVO_BINDING_FUNC(Servo_MediaList_GetText, void,
     441             :                    RawServoMediaListBorrowed list, nsAString* result)
     442           0 : SERVO_BINDING_FUNC(Servo_MediaList_SetText, void,
     443             :                    RawServoMediaListBorrowed list, const nsACString* text)
     444           0 : SERVO_BINDING_FUNC(Servo_MediaList_GetLength, uint32_t,
     445             :                    RawServoMediaListBorrowed list)
     446           0 : SERVO_BINDING_FUNC(Servo_MediaList_GetMediumAt, bool,
     447             :                    RawServoMediaListBorrowed list, uint32_t index,
     448             :                    nsAString* result)
     449           0 : SERVO_BINDING_FUNC(Servo_MediaList_AppendMedium, void,
     450             :                    RawServoMediaListBorrowed list, const nsACString* new_medium)
     451           0 : SERVO_BINDING_FUNC(Servo_MediaList_DeleteMedium, bool,
     452             :                    RawServoMediaListBorrowed list, const nsACString* old_medium)
     453             : 
     454             : // CSS supports()
     455           0 : SERVO_BINDING_FUNC(Servo_CSSSupports2, bool,
     456             :                    const nsACString* name, const nsACString* value)
     457           0 : SERVO_BINDING_FUNC(Servo_CSSSupports, bool,
     458             :                    const nsACString* cond)
     459             : 
     460             : // Computed style data
     461           0 : SERVO_BINDING_FUNC(Servo_ComputedValues_GetForAnonymousBox,
     462             :                    ServoComputedValuesStrong,
     463             :                    ServoComputedValuesBorrowedOrNull parent_style_or_null,
     464             :                    nsIAtom* pseudo_tag, bool skip_display_fixup,
     465             :                    RawServoStyleSetBorrowed set)
     466           0 : SERVO_BINDING_FUNC(Servo_ComputedValues_Inherit, ServoComputedValuesStrong,
     467             :                    RawServoStyleSetBorrowed set,
     468             :                    ServoComputedValuesBorrowedOrNull parent_style,
     469             :                    mozilla::InheritTarget target)
     470           0 : SERVO_BINDING_FUNC(Servo_ComputedValues_GetVisitedStyle,
     471             :                    ServoComputedValuesStrong,
     472             :                    ServoComputedValuesBorrowed values)
     473             : // Gets the source style rules for the computed values. This returns
     474             : // the result via rules, which would include a list of unowned pointers
     475             : // to RawServoStyleRule.
     476           0 : SERVO_BINDING_FUNC(Servo_ComputedValues_GetStyleRuleList, void,
     477             :                    ServoComputedValuesBorrowed values,
     478             :                    RawGeckoServoStyleRuleListBorrowedMut rules)
     479             : 
     480             : // Initialize Servo components. Should be called exactly once at startup.
     481           0 : SERVO_BINDING_FUNC(Servo_Initialize, void,
     482             :                    RawGeckoURLExtraData* dummy_url_data)
     483             : // Shut down Servo components. Should be called exactly once at shutdown.
     484           0 : SERVO_BINDING_FUNC(Servo_Shutdown, void)
     485             : 
     486             : // Restyle and change hints.
     487           0 : SERVO_BINDING_FUNC(Servo_NoteExplicitHints, void, RawGeckoElementBorrowed element,
     488             :                    nsRestyleHint restyle_hint, nsChangeHint change_hint)
     489           0 : SERVO_BINDING_FUNC(Servo_TakeChangeHint, nsChangeHint, RawGeckoElementBorrowed element)
     490           0 : SERVO_BINDING_FUNC(Servo_ResolveStyle, ServoComputedValuesStrong,
     491             :                    RawGeckoElementBorrowed element,
     492             :                    RawServoStyleSetBorrowed set)
     493           0 : SERVO_BINDING_FUNC(Servo_ResolvePseudoStyle, ServoComputedValuesStrong,
     494             :                    RawGeckoElementBorrowed element,
     495             :                    mozilla::CSSPseudoElementType pseudo_type,
     496             :                    bool is_probe,
     497             :                    ServoComputedValuesBorrowedOrNull inherited_style,
     498             :                    RawServoStyleSetBorrowed set)
     499           0 : SERVO_BINDING_FUNC(Servo_SetExplicitStyle, void,
     500             :                    RawGeckoElementBorrowed element,
     501             :                    ServoComputedValuesBorrowed primary_style)
     502           0 : SERVO_BINDING_FUNC(Servo_HasAuthorSpecifiedRules, bool,
     503             :                    RawGeckoElementBorrowed element,
     504             :                    uint32_t rule_type_mask,
     505             :                    bool author_colors_allowed)
     506             : 
     507             : // Resolves style for an element or pseudo-element without processing pending
     508             : // restyles first. The Element and its ancestors may be unstyled, have pending
     509             : // restyles, or be in a display:none subtree. Styles are cached when possible,
     510             : // though caching is not possible within display:none subtrees, and the styles
     511             : // may be invalidated by already-scheduled restyles.
     512             : //
     513             : // The tree must be in a consistent state such that a normal traversal could be
     514             : // performed, and this function maintains that invariant.
     515           0 : SERVO_BINDING_FUNC(Servo_ResolveStyleLazily, ServoComputedValuesStrong,
     516             :                    RawGeckoElementBorrowed element,
     517             :                    mozilla::CSSPseudoElementType pseudo_type,
     518             :                    mozilla::StyleRuleInclusion rule_inclusion,
     519             :                    const mozilla::ServoElementSnapshotTable* snapshots,
     520             :                    RawServoStyleSetBorrowed set)
     521             : 
     522             : // Use ServoStyleSet::PrepareAndTraverseSubtree instead of calling this
     523             : // directly
     524           0 : SERVO_BINDING_FUNC(Servo_TraverseSubtree,
     525             :                    bool,
     526             :                    RawGeckoElementBorrowed root,
     527             :                    RawServoStyleSetBorrowed set,
     528             :                    const mozilla::ServoElementSnapshotTable* snapshots,
     529             :                    mozilla::TraversalRootBehavior root_behavior,
     530             :                    mozilla::TraversalRestyleBehavior restyle_behavior)
     531             : 
     532             : // Assert that the tree has no pending or unconsumed restyles.
     533           0 : SERVO_BINDING_FUNC(Servo_AssertTreeIsClean, void, RawGeckoElementBorrowed root)
     534             : 
     535             : // Checks whether the rule tree has crossed its threshold for unused rule nodes,
     536             : // and if so, frees them.
     537           0 : SERVO_BINDING_FUNC(Servo_MaybeGCRuleTree, void, RawServoStyleSetBorrowed set)
     538             : 
     539             : // Returns computed values for the given element without any animations rules.
     540           0 : SERVO_BINDING_FUNC(Servo_StyleSet_GetBaseComputedValuesForElement,
     541             :                    ServoComputedValuesStrong,
     542             :                    RawServoStyleSetBorrowed set,
     543             :                    RawGeckoElementBorrowed element,
     544             :                    ServoComputedValuesBorrowed existing_style,
     545             :                    const mozilla::ServoElementSnapshotTable* snapshots,
     546             :                    mozilla::CSSPseudoElementType pseudo_type)
     547             : 
     548             : // For canvas font.
     549           0 : SERVO_BINDING_FUNC(Servo_SerializeFontValueForCanvas, void,
     550             :                    RawServoDeclarationBlockBorrowed declarations,
     551             :                    nsAString* buffer)
     552             : 
     553             : // Get custom property value.
     554           0 : SERVO_BINDING_FUNC(Servo_GetCustomPropertyValue, bool,
     555             :                    ServoComputedValuesBorrowed computed_values,
     556             :                    const nsAString* name, nsAString* value)
     557             : 
     558           0 : SERVO_BINDING_FUNC(Servo_GetCustomPropertiesCount, uint32_t,
     559             :                    ServoComputedValuesBorrowed computed_values)
     560             : 
     561           0 : SERVO_BINDING_FUNC(Servo_GetCustomPropertyNameAt, bool,
     562             :                    ServoComputedValuesBorrowed, uint32_t index,
     563             :                    nsAString* name)
     564             : 
     565             : // Style-struct management.
     566             : #define STYLE_STRUCT(name, checkdata_cb)                            \
     567             :   struct nsStyle##name;                                             \
     568             :   SERVO_BINDING_FUNC(Servo_GetStyle##name, const nsStyle##name*,  \
     569             :                      ServoComputedValuesBorrowedOrNull computed_values)
     570             : #include "nsStyleStructList.h"
     571             : #undef STYLE_STRUCT
     572             : 
     573             : // AddRef / Release functions
     574             : #define SERVO_ARC_TYPE(name_, type_)                                \
     575             :   SERVO_BINDING_FUNC(Servo_##name_##_AddRef, void, type_##Borrowed) \
     576             :   SERVO_BINDING_FUNC(Servo_##name_##_Release, void, type_##Borrowed)
     577             : #include "mozilla/ServoArcTypeList.h"
     578             : #undef SERVO_ARC_TYPE

Generated by: LCOV version 1.13