Bug 1356124 - Part 1: Fix font-variant-alternates property r?emilio
MozReview-Commit-ID: 9gfGBKcqTbD
--- a/layout/style/ServoBindings.cpp
+++ b/layout/style/ServoBindings.cpp
@@ -1229,16 +1229,39 @@ Gecko_nsFont_InitSystem(nsFont* aDest, i
void
Gecko_nsFont_Destroy(nsFont* aDest)
{
aDest->~nsFont();
}
void
+Gecko_ClearAlternateValues(nsFont* aFont, size_t aLength)
+{
+ aFont->alternateValues.Clear();
+ aFont->alternateValues.SetCapacity(aLength);
+}
+
+void
+Gecko_AppendAlternateValues(nsFont* aFont, uint32_t aAlternateName, nsIAtom* aAtom)
+{
+ aFont->alternateValues.AppendElement(gfxAlternateValue {
+ aAlternateName,
+ nsDependentAtomString(aAtom)
+ });
+}
+
+void
+Gecko_CopyAlternateValuesFrom(nsFont* aDest, const nsFont* aSrc)
+{
+ aDest->alternateValues.Clear();
+ aDest->alternateValues.AppendElements(aSrc->alternateValues);
+}
+
+void
Gecko_SetImageOrientation(nsStyleVisibility* aVisibility,
double aRadians, bool aFlip)
{
aVisibility->mImageOrientation =
nsStyleImageOrientation::CreateAsAngleAndFlip(aRadians, aFlip);
}
void
--- a/layout/style/ServoBindings.h
+++ b/layout/style/ServoBindings.h
@@ -269,16 +269,21 @@ void Gecko_FontFamilyList_AppendNamed(Fo
void Gecko_FontFamilyList_AppendGeneric(FontFamilyList* list, FontFamilyType familyType);
void Gecko_CopyFontFamilyFrom(nsFont* dst, const nsFont* src);
// will not run destructors on dst, give it uninitialized memory
// font_id is LookAndFeel::FontID
void Gecko_nsFont_InitSystem(nsFont* dst, int32_t font_id,
const nsStyleFont* font, RawGeckoPresContextBorrowed pres_context);
void Gecko_nsFont_Destroy(nsFont* dst);
+// Font variant alternates
+void Gecko_ClearAlternateValues(nsFont* font, size_t length);
+void Gecko_AppendAlternateValues(nsFont* font, uint32_t alternate_name, nsIAtom* atom);
+void Gecko_CopyAlternateValuesFrom(nsFont* dest, const nsFont* src);
+
// Visibility style
void Gecko_SetImageOrientation(nsStyleVisibility* aVisibility,
double aRadians,
bool aFlip);
void Gecko_SetImageOrientationAsFromImage(nsStyleVisibility* aVisibility);
void Gecko_CopyImageOrientationFrom(nsStyleVisibility* aDst,
const nsStyleVisibility* aSrc);