[CSS] Add stub for font-variation-settings.
This commit is contained in:
parent
2fbdf05c68
commit
1373e8207c
|
@ -1056,6 +1056,7 @@ protected:
|
||||||
bool ParseOneFamily(nsAString& aFamily, bool& aOneKeyword, bool& aQuoted);
|
bool ParseOneFamily(nsAString& aFamily, bool& aOneKeyword, bool& aQuoted);
|
||||||
bool ParseFamily(nsCSSValue& aValue);
|
bool ParseFamily(nsCSSValue& aValue);
|
||||||
bool ParseFontFeatureSettings(nsCSSValue& aValue);
|
bool ParseFontFeatureSettings(nsCSSValue& aValue);
|
||||||
|
bool ParseFontVariationSettings(nsCSSValue& aValue);
|
||||||
bool ParseFontSrc(nsCSSValue& aValue);
|
bool ParseFontSrc(nsCSSValue& aValue);
|
||||||
bool ParseFontSrcFormat(InfallibleTArray<nsCSSValue>& values);
|
bool ParseFontSrcFormat(InfallibleTArray<nsCSSValue>& values);
|
||||||
bool ParseFontRanges(nsCSSValue& aValue);
|
bool ParseFontRanges(nsCSSValue& aValue);
|
||||||
|
@ -12092,6 +12093,8 @@ CSSParserImpl::ParseSingleValuePropertyByFunction(nsCSSValue& aValue,
|
||||||
return ParseFontVariantNumeric(aValue);
|
return ParseFontVariantNumeric(aValue);
|
||||||
case eCSSProperty_font_feature_settings:
|
case eCSSProperty_font_feature_settings:
|
||||||
return ParseFontFeatureSettings(aValue);
|
return ParseFontFeatureSettings(aValue);
|
||||||
|
case eCSSProperty_font_variation_settings:
|
||||||
|
return ParseFontVariationSettings(aValue);
|
||||||
case eCSSProperty_font_weight:
|
case eCSSProperty_font_weight:
|
||||||
return ParseFontWeight(aValue);
|
return ParseFontWeight(aValue);
|
||||||
case eCSSProperty_image_orientation:
|
case eCSSProperty_image_orientation:
|
||||||
|
@ -15315,6 +15318,19 @@ CSSParserImpl::ParseFontFeatureSettings(nsCSSValue& aValue)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
CSSParserImpl::ParseFontVariationSettings(nsCSSValue& aValue)
|
||||||
|
{
|
||||||
|
// TODO: Actually implement this.
|
||||||
|
|
||||||
|
// This stub is here because websites insist on considering this
|
||||||
|
// very hardware-dependent and O.S.-variable low-level font-control
|
||||||
|
// as a "critical feature" which it isn't as there is 0 guarantee
|
||||||
|
// that font variation settings are supported or honored by any
|
||||||
|
// operating system used by the client.
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
CSSParserImpl::ParseListStyle()
|
CSSParserImpl::ParseListStyle()
|
||||||
{
|
{
|
||||||
|
|
|
@ -2036,6 +2036,20 @@ CSS_PROP_FONT(
|
||||||
kFontVariantPositionKTable,
|
kFontVariantPositionKTable,
|
||||||
CSS_PROP_NO_OFFSET,
|
CSS_PROP_NO_OFFSET,
|
||||||
eStyleAnimType_Discrete)
|
eStyleAnimType_Discrete)
|
||||||
|
CSS_PROP_FONT(
|
||||||
|
font-variation-settings,
|
||||||
|
font_variation_settings,
|
||||||
|
FontVariationSettings,
|
||||||
|
CSS_PROPERTY_PARSE_VALUE |
|
||||||
|
CSS_PROPERTY_VALUE_PARSER_FUNCTION |
|
||||||
|
CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
|
||||||
|
CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
|
||||||
|
CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
|
||||||
|
"layout.css.font-variations.stub",
|
||||||
|
0,
|
||||||
|
nullptr,
|
||||||
|
CSS_PROP_NO_OFFSET,
|
||||||
|
eStyleAnimType_Discrete)
|
||||||
CSS_PROP_FONT(
|
CSS_PROP_FONT(
|
||||||
font-weight,
|
font-weight,
|
||||||
font_weight,
|
font_weight,
|
||||||
|
|
|
@ -674,9 +674,9 @@ nsComputedDOMStyle::UpdateCurrentStyleSources(bool aNeedsLayoutFlush)
|
||||||
mPresShell->GetPresContext()->GetRestyleGeneration();
|
mPresShell->GetPresContext()->GetRestyleGeneration();
|
||||||
|
|
||||||
if (mStyleContext) {
|
if (mStyleContext) {
|
||||||
// We can't rely on the undisplayed restyle generation if mElement is
|
// We can't rely on the undisplayed restyle generation if mElement is
|
||||||
// out-of-document, since that generation is not incremented for DOM changes
|
// out-of-document, since that generation is not incremented for DOM changes
|
||||||
// on out-of-document elements.
|
// on out-of-document elements.
|
||||||
if (mStyleContextGeneration == currentGeneration &&
|
if (mStyleContextGeneration == currentGeneration &&
|
||||||
mElement->IsInComposedDoc()) {
|
mElement->IsInComposedDoc()) {
|
||||||
// Our cached style context is still valid.
|
// Our cached style context is still valid.
|
||||||
|
@ -1619,6 +1619,16 @@ nsComputedDOMStyle::DoGetFontFeatureSettings()
|
||||||
return val.forget();
|
return val.forget();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
already_AddRefed<CSSValue>
|
||||||
|
nsComputedDOMStyle::DoGetFontVariationSettings()
|
||||||
|
{
|
||||||
|
// TODO: This is still a stub, always returning "normal"
|
||||||
|
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
|
||||||
|
|
||||||
|
val->SetIdent(eCSSKeyword_normal);
|
||||||
|
return val.forget();
|
||||||
|
}
|
||||||
|
|
||||||
already_AddRefed<CSSValue>
|
already_AddRefed<CSSValue>
|
||||||
nsComputedDOMStyle::DoGetFontKerning()
|
nsComputedDOMStyle::DoGetFontKerning()
|
||||||
{
|
{
|
||||||
|
|
|
@ -251,6 +251,7 @@ private:
|
||||||
already_AddRefed<CSSValue> DoGetColor();
|
already_AddRefed<CSSValue> DoGetColor();
|
||||||
already_AddRefed<CSSValue> DoGetFontFamily();
|
already_AddRefed<CSSValue> DoGetFontFamily();
|
||||||
already_AddRefed<CSSValue> DoGetFontFeatureSettings();
|
already_AddRefed<CSSValue> DoGetFontFeatureSettings();
|
||||||
|
already_AddRefed<CSSValue> DoGetFontVariationSettings();
|
||||||
already_AddRefed<CSSValue> DoGetFontKerning();
|
already_AddRefed<CSSValue> DoGetFontKerning();
|
||||||
already_AddRefed<CSSValue> DoGetFontLanguageOverride();
|
already_AddRefed<CSSValue> DoGetFontLanguageOverride();
|
||||||
already_AddRefed<CSSValue> DoGetFontSize();
|
already_AddRefed<CSSValue> DoGetFontSize();
|
||||||
|
|
|
@ -144,6 +144,7 @@ COMPUTED_STYLE_PROP(font_variant_east_asian, FontVariantEastAsian)
|
||||||
COMPUTED_STYLE_PROP(font_variant_ligatures, FontVariantLigatures)
|
COMPUTED_STYLE_PROP(font_variant_ligatures, FontVariantLigatures)
|
||||||
COMPUTED_STYLE_PROP(font_variant_numeric, FontVariantNumeric)
|
COMPUTED_STYLE_PROP(font_variant_numeric, FontVariantNumeric)
|
||||||
COMPUTED_STYLE_PROP(font_variant_position, FontVariantPosition)
|
COMPUTED_STYLE_PROP(font_variant_position, FontVariantPosition)
|
||||||
|
COMPUTED_STYLE_PROP(font_variation_settings, FontVariationSettings)
|
||||||
COMPUTED_STYLE_PROP(font_weight, FontWeight)
|
COMPUTED_STYLE_PROP(font_weight, FontWeight)
|
||||||
COMPUTED_STYLE_PROP(grid_auto_columns, GridAutoColumns)
|
COMPUTED_STYLE_PROP(grid_auto_columns, GridAutoColumns)
|
||||||
COMPUTED_STYLE_PROP(grid_auto_flow, GridAutoFlow)
|
COMPUTED_STYLE_PROP(grid_auto_flow, GridAutoFlow)
|
||||||
|
|
|
@ -2535,6 +2535,9 @@ pref("layout.css.image-orientation.enabled", true);
|
||||||
// Is support for the font-display @font-face descriptor enabled?
|
// Is support for the font-display @font-face descriptor enabled?
|
||||||
pref("layout.css.font-display.enabled", false);
|
pref("layout.css.font-display.enabled", false);
|
||||||
|
|
||||||
|
// Enable the font variation stub code?
|
||||||
|
pref("layout.css.font-variations.stub", true);
|
||||||
|
|
||||||
// Are sets of prefixed properties supported?
|
// Are sets of prefixed properties supported?
|
||||||
pref("layout.css.prefixes.border-image", true);
|
pref("layout.css.prefixes.border-image", true);
|
||||||
pref("layout.css.prefixes.transforms", true);
|
pref("layout.css.prefixes.transforms", true);
|
||||||
|
|
Loading…
Reference in New Issue