Adds the forced-color-adjust property and ForcedColorAdjust keywords.
Updates tweak_when_ignoring_colors to check for `none` value of that property when determining if a color adjustment in needed.
Adds a check for `none` when styling selections to make sure they can be styled in forced color modes.
Differential Revision: https://phabricator.services.mozilla.com/D169000
For ToResolvedValue implementation purposes we wouldn't need to split
out the vertical / font / line-height arguments and we could just pass
around the ComputedStyle, but the lh unit would need that distinction,
(because computing lh on font properties should use the parent style).
Differential Revision: https://phabricator.services.mozilla.com/D168705
Generated by running
find servo/components/style -name "*.rs" -exec perl -p -i -e "s/write_str\(\"(.)\"\)/write_char('\1')/g" {} \;
(and then added `use std::fmt::Write;` in a couple of places to fix build errors that arose).
Differential Revision: https://phabricator.services.mozilla.com/D168217
Named scroll progress timelines are declared in the coordinated value list
constructed from the longhands of the scroll-timeline shorthand property,
which form a coordinating list property group with scroll-timeline-name as
the coordinating list base property.
In the meantime, we also update its shorthand to match the current spec.
Differential Revision: https://phabricator.services.mozilla.com/D166596
The syntax of scroll-timeline shorthand is:
`[ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#`.
This patch just updates WPT to match the spec.
Our fix will be together with Bug 1809005.
Differential Revision: https://phabricator.services.mozilla.com/D166595
view-timeline shorthand includes view-timeline-name and
view-timeline-axis, but excludes view-timeline-inset.
Note: We will fix the test of "view-timeline-name: auto" in the next patch.
Differential Revision: https://phabricator.services.mozilla.com/D166404
view-timeline-name: `none | <custom-ident>#`
view-timeline-axis: `[ block | inline | vertical | horizontal ]#`
Note:
Both view-timeline-name and scroll-timeline-name should accept `auto`.
We will fix it in this patch series.
Differential Revision: https://phabricator.services.mozilla.com/D166242
Use new changes from cssparser and use the new lab/lch/oklab/oklch color
formats.
Introduced a new color type AbsoluteColor. It represents any kind of
color that has absolute numerical values. It is also tied to a color
space and therefore can be trivially converted to another color space.
Differential Revision: https://phabricator.services.mozilla.com/D163579
This removes the special AnimationIterationCount -> f32 conversion from
gecko.mako.rs which will be useful to simplify coordinated properties.
Differential Revision: https://phabricator.services.mozilla.com/D167123
There's no font-style-adjust property, and no FontStyleAdjust type anywhere I can see.
So the mention in data.py is redundant (and potentially confusing).
Differential Revision: https://phabricator.services.mozilla.com/D166127
The spec is still using `Scroll-linked`, so we exclude the change of WPT tests.
I believe WPT will get updates once the spec doc is renamed.
Differential Revision: https://phabricator.services.mozilla.com/D165914
When apply_declarations is used for a pseudo-element, make it pass the
parent_style as the originating_element_style for container queries.
This requires changing some parameters from Option<&Arc<ComputedValues>>
to Option<&ComputedValues>.
It's not a complete solution, since e.g. parent_style is not the style
of the originating element of a ::backdrop. But here it's not as simple
as in D164908, so leaving these details for later.
Differential Revision: https://phabricator.services.mozilla.com/D164977
If the UA sheet gets parsed with the pref off, and then the pref gets
flipped on, we don't re-parse the UA sheet (nor we want to).
Enable the property in UA sheets unconditionally so that the test passes
even when the browser was started-up with the container queries pref
off.
Differential Revision: https://phabricator.services.mozilla.com/D164823
The fix is calling set_outline_style so that we also reset the actual
outline width. Also clean-up surrounding code a little bit to be
marginally more efficient, and do the same change for border-*-style
(which was doing the right thing, but it's better to make sure both stay
in sync).
Differential Revision: https://phabricator.services.mozilla.com/D164554
'container-type' and 'content-visibility' can trigger various kinds of
containment, but this was done via nsStyleDisplay::EffectiveContainment,
to avoid affecting the computed value of 'contain'.
This was fine except for style containment, which needs to set the flag
SELF_OR_ANCESTOR_HAS_CONTAIN_STYLE in order to really work, but this was
only done with 'contain: style'.
So this patch removes nsStyleDisplay::EffectiveContainment, and instead
uses two fields for containment: mContain and mEffectiveContainment.
This is somewhat analogous to mDisplay and mOriginalDisplay, though in
that case the computed value is the modified display.
Also fixes a typo in IsContainStyle() that made it return true for any
kind of containment, not just for style containment.
Differential Revision: https://phabricator.services.mozilla.com/D163779
And hide internal but used values. System fonts are not exposed in the
computed style so this should be fine.
If we need the old values for some obscure reason, it's trivial to alias
them to e.g., menu or so.
Differential Revision: https://phabricator.services.mozilla.com/D163269
It was made a bitfield so that we could include style. But then style
containment was removed and the bitfield keeps causing us to do wrong
check (since INLINE_SIZE intersects SIZE).
So just make it an enum. This causes a progression and a test that
failed now times out (which is a pre-existing issue, just like the
pseudo-elements test that times out).
Differential Revision: https://phabricator.services.mozilla.com/D160371
This allows us to propagate flags from the container query styles all the
way to the computed style of the element.
The flag for viewport units in container queries has to be different
because it requires rematching, see comments.
Depends on D159851
Differential Revision: https://phabricator.services.mozilla.com/D159852