style: Ignore pref-controlled properties in cached scrollbar style assertions.

Now if you add a new inherited, pref-controlled property, you must
declare whether it can have an effect on scrollbar styles.  If no,
then the property will be skipped in the assertions that check
whether our cached styles are equal to those we would compute.

Differential Revision: https://phabricator.services.mozilla.com/D37507
This commit is contained in:
Cameron McCormack 2019-07-10 22:43:24 +00:00 committed by Emilio Cobos Álvarez
parent 145acbf876
commit e3b57efc7e
No known key found for this signature in database
GPG key ID: E1152D0994E4BF8A
5 changed files with 36 additions and 1 deletions

View file

@ -192,6 +192,7 @@ ${helpers.predefined_type(
"FontVariationSettings",
products="gecko",
gecko_pref="layout.css.font-variations.enabled",
has_effect_on_gecko_scrollbars=False,
initial_value="computed::FontVariationSettings::normal()",
initial_specified_value="specified::FontVariationSettings::normal()",
animation_value_type="ComputedValue",
@ -216,6 +217,7 @@ ${helpers.single_keyword_system(
"auto none",
products="gecko",
gecko_pref="layout.css.font-variations.enabled",
has_effect_on_gecko_scrollbars=False,
gecko_ffi_name="mFont.opticalSizing",
gecko_constant_prefix="NS_FONT_OPTICAL_SIZING",
animation_value_type="discrete",
@ -512,6 +514,7 @@ ${helpers.single_keyword(
gecko_constant_prefix="NS_FONT_SMOOTHING",
gecko_ffi_name="mFont.smoothing",
gecko_pref="layout.css.osx-font-smoothing.enabled",
has_effect_on_gecko_scrollbars=False,
products="gecko",
spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth)",
flags="APPLIES_TO_CUE APPLIES_TO_FIRST_LETTER APPLIES_TO_FIRST_LINE APPLIES_TO_PLACEHOLDER APPLIES_TO_MARKER",

View file

@ -103,7 +103,8 @@ ${helpers.predefined_type(
gecko_enum_prefix="StyleTextJustify"
animation_value_type="discrete"
gecko_pref="layout.css.text-justify.enabled"
flags="APPLIES_TO_PLACEHOLDER",
has_effect_on_gecko_scrollbars="False"
flags="APPLIES_TO_PLACEHOLDER"
spec="https://drafts.csswg.org/css-text/#propdef-text-justify"
servo_restyle_damage="rebuild_and_reflow"
>
@ -383,6 +384,7 @@ ${helpers.predefined_type(
products="gecko",
animation_value_type="ComputedValue",
gecko_pref="layout.css.text-underline-offset.enabled",
has_effect_on_gecko_scrollbars=False,
spec="https://drafts.csswg.org/css-text-decor-4/#underline-offset",
)}
@ -395,5 +397,6 @@ ${helpers.predefined_type(
needs_context=False,
animation_value_type="discrete",
gecko_pref="layout.css.text-decoration-skip-ink.enabled",
has_effect_on_gecko_scrollbars=False,
spec="https://drafts.csswg.org/css-text-decor-4/#text-decoration-skip-ink-property",
)}

View file

@ -74,6 +74,10 @@ ${helpers.predefined_type(
"Default::default()",
spec="https://drafts.csswg.org/css-scrollbars-1/#scrollbar-color",
gecko_pref="layout.css.scrollbar-color.enabled",
# Surprisingly, yes the computed value of scrollbar-color has no effect on
# Gecko scrollbar elements, since the value only matters on the scrollable
# element itself.
has_effect_on_gecko_scrollbars=False,
animation_value_type="ScrollbarColor",
boxed=True,
ignored_when_colors_disabled=True,