diff --git a/layout/style/ServoBindings.cpp b/layout/style/ServoBindings.cpp index 425b61144095..34cd6e42cd62 100644 --- a/layout/style/ServoBindings.cpp +++ b/layout/style/ServoBindings.cpp @@ -1239,6 +1239,46 @@ Gecko_CSSValue_SetFunction(nsCSSValueBorrowedMut aCSSValue, int32_t aLen) aCSSValue->SetArrayValue(arr, eCSSUnit_Function); } +void +Gecko_CSSValue_SetString(nsCSSValueBorrowedMut aCSSValue, const nsString aString) +{ + MOZ_ASSERT(aCSSValue->GetUnit() == eCSSUnit_Null); + aCSSValue->SetStringValue(aString, eCSSUnit_String); +} + +void +Gecko_CSSValue_SetArray(nsCSSValueBorrowedMut aCSSValue, int32_t aLength) +{ + MOZ_ASSERT(aCSSValue->GetUnit() == eCSSUnit_Null); + RefPtr array + = nsCSSValue::Array::Create(aLength); + aCSSValue->SetArrayValue(array, eCSSUnit_Array); +} + +void +Gecko_CSSValue_SetURL(nsCSSValueBorrowedMut aCSSValue, + ServoBundledURI aURI) +{ + MOZ_ASSERT(aCSSValue->GetUnit() == eCSSUnit_Null); + RefPtr url = aURI.IntoCssUrl(); + aCSSValue->SetURLValue(url.get()); +} + +void +Gecko_CSSValue_SetLocal(nsCSSValueBorrowedMut aCSSValue, const nsString aFamily) +{ + MOZ_ASSERT(aCSSValue->GetUnit() == eCSSUnit_Null); + aCSSValue->SetStringValue(aFamily, eCSSUnit_Local_Font); +} + +void +Gecko_CSSValue_SetInteger(nsCSSValueBorrowedMut aCSSValue, int32_t aInteger) +{ + MOZ_ASSERT(aCSSValue->GetUnit() == eCSSUnit_Null || + aCSSValue->GetUnit() == eCSSUnit_Integer); + aCSSValue->SetIntValue(aInteger, eCSSUnit_Integer); +} + nsCSSValueBorrowedMut Gecko_CSSValue_GetArrayItem(nsCSSValueBorrowedMut aCSSValue, int32_t aIndex) { diff --git a/layout/style/ServoBindings.h b/layout/style/ServoBindings.h index 6c64c335d8e1..fb13366e2ee0 100644 --- a/layout/style/ServoBindings.h +++ b/layout/style/ServoBindings.h @@ -335,6 +335,11 @@ void Gecko_CSSValue_SetPercentage(nsCSSValueBorrowedMut css_value, float percent void Gecko_CSSValue_SetAngle(nsCSSValueBorrowedMut css_value, float radians); void Gecko_CSSValue_SetCalc(nsCSSValueBorrowedMut css_value, nsStyleCoord::CalcValue calc); void Gecko_CSSValue_SetFunction(nsCSSValueBorrowedMut css_value, int32_t len); +void Gecko_CSSValue_SetString(nsCSSValueBorrowedMut css_value, const nsString string); +void Gecko_CSSValue_SetArray(nsCSSValueBorrowedMut css_value, int32_t len); +void Gecko_CSSValue_SetURL(nsCSSValueBorrowedMut css_value, ServoBundledURI uri); +void Gecko_CSSValue_SetLocal(nsCSSValueBorrowedMut css_value, const nsString family); +void Gecko_CSSValue_SetInteger(nsCSSValueBorrowedMut css_value, int32_t integer); void Gecko_CSSValue_Drop(nsCSSValueBorrowedMut css_value); NS_DECL_THREADSAFE_FFI_REFCOUNTING(nsCSSValueSharedList, CSSValueSharedList); bool Gecko_PropertyId_IsPrefEnabled(nsCSSPropertyID id);