Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

style: Sync changes from mozilla-central, and update euclid #23827

Merged
merged 23 commits into from Jul 24, 2019
Merged
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
c00045b
style: set CSS properties directly on '::cue'.
alastor0325 Jul 9, 2019
6cf87d2
style: Add an 'auto' value for the CSS 'quotes' property, and make it…
jfkthame Jul 9, 2019
145acbf
style: Part 2: Retire the support for 3-valued syntax for position.
BorisChiou Jul 10, 2019
e3b57ef
style: Ignore pref-controlled properties in cached scrollbar style as…
heycam Jul 10, 2019
10cb9c0
style: Don't apply property restrictions to pseudo-elements in UA sty…
emilio Jul 11, 2019
b8e3247
style: Update spec link for font-variation-settings.
emilio Jul 11, 2019
2a500ea
style: scroll-margin properties shouldn't apply to first-line / first…
emilio Jul 11, 2019
e33a799
style: Centralize property restrictions.
emilio Jul 11, 2019
65bf72f
style: Set the property restrictions flags from the centralized list.
emilio Jul 11, 2019
87231e6
style: Add percentage for opacity (i.e. <alpha-value>).
BorisChiou Jul 12, 2019
2ab9156
style: Remove dominant-baseline values that no longer exist.
longsonr Jul 13, 2019
59cf10d
style: Modify URLExtraData rust debug to include referrerInfo.
Jul 16, 2019
137044a
style: Update animations when a pseudo-element had animations but no …
emilio Jul 16, 2019
66eae2f
style: Remove the ability to build Gecko without the bindgen feature.
emilio Jul 18, 2019
239f2da
style: Update to euclid 0.20.
nical Jul 18, 2019
6bc1b97
style: renamed text-decoration-width to text-decoration-thickness.
Jul 19, 2019
243520f
style: Change dominant-baseline from reset to inherit.
longsonr Jul 19, 2019
8665d9d
Fix Servo build.
emilio Jul 22, 2019
3da8f85
style: Fix a warning in Servo builds by moving a macro to where it's …
emilio Jul 22, 2019
58d51b1
style: Remove unit tests that test non-compliant stuff.
emilio Jul 22, 2019
2ff7cb5
style: Appease tidy.
emilio Jul 22, 2019
3d57c22
Update euclid.
emilio Jul 22, 2019
9dc906a
Update WPT expectations.
emilio Jul 23, 2019
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

style: Ignore pref-controlled properties in cached scrollbar style as…

…sertions.

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
  • Loading branch information
heycam authored and emilio committed Jul 23, 2019
commit e3b57efc7eca991de9eee8a48b9e0a5e501366db
@@ -175,6 +175,7 @@ def __init__(self, style_struct, name, spec=None, animation_value_type=None, key
predefined_type=None, servo_pref=None, gecko_pref=None,
enabled_in="content", need_index=False,
gecko_ffi_name=None,
has_effect_on_gecko_scrollbars=None,
allowed_in_keyframe_block=True, cast_type='u8',
logical=False, logical_group=None, alias=None, extra_prefixes=None, boxed=False,
flags=None, allowed_in_page_rule=False, allow_quirks="No",
@@ -192,6 +193,14 @@ def __init__(self, style_struct, name, spec=None, animation_value_type=None, key
self.style_struct = style_struct
self.servo_pref = servo_pref
self.gecko_pref = gecko_pref
self.has_effect_on_gecko_scrollbars = has_effect_on_gecko_scrollbars
assert (
has_effect_on_gecko_scrollbars in [None, False, True] and
not style_struct.inherited or
(gecko_pref is None) == (has_effect_on_gecko_scrollbars is None)), (
"Property " + name + ": has_effect_on_gecko_scrollbars must be " +
"specified, and must have a value of True or False, iff a " +
"property is inherited and is behind a Gecko pref")
# For enabled_in, the setup is as follows:
# It needs to be one of the four values: ["", "ua", "chrome", "content"]
# * "chrome" implies "ua", and implies that they're explicitly
@@ -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",
@@ -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",
)}
@@ -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,
@@ -812,6 +812,22 @@ impl LonghandIdSet {
&IGNORED_WHEN_COLORS_DISABLED
}

/// Returns the set of properties that are declared as having no effect on
/// Gecko <scrollbar> elements or their descendant scrollbar parts.
#[cfg(debug_assertions)]
#[cfg(feature = "gecko")]
#[inline]
pub fn has_no_effect_on_gecko_scrollbars() -> &'static Self {
// data.py asserts that has_no_effect_on_gecko_scrollbars is True or
// False for properties that are inherited and Gecko pref controlled,
// and is None for all other properties.
${static_longhand_id_set(
"HAS_NO_EFFECT_ON_SCROLLBARS",
lambda p: p.has_effect_on_gecko_scrollbars is False
)}
&HAS_NO_EFFECT_ON_SCROLLBARS
}

/// Iterate over the current longhand id set.
pub fn iter(&self) -> LonghandIdSetIterator {
LonghandIdSetIterator { longhands: self, cur: 0, }
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.