Some widely-used icon fonts use ligature rules to replace icon names such as "volume_up"
or "down_arrow" with icon glyphs. If the site is designed to use such a font, but the user
disables document fonts and we use our default Latin font instead, the underlying text will
be rendered instead of the intended icon.
To enable such fonts to continue to work, we provide a list of known ligature-icon fonts
and allow them to be used even when the document-fonts setting is disabled.
Differential Revision: https://phabricator.services.mozilla.com/D167923
Added WebIDL interfaces as per spec, added some necessary changes to support maplike and setlike structures to be accessed from C++.
Added `::highlight(foo)` pseudo element to CSS engine.
Implemented Highlight as new kind of `Selection` using `HighlightType::eHighlight`. This implies Selections being added/removed during runtime (one `Selection` object per highlight identifier), therefore a dynamic container for highlight `Selection` objects was added to `nsFrameSelection`. Also, the painting code queries the highlight style for highlight Selections.
Implementation is currently hidden behind a pref `dom.customHighlightAPI.enabled`.
Differential Revision: https://phabricator.services.mozilla.com/D164203
This parses the ampersand as a parent selector behind an
(off-by-default) selectors feature.
The plan is to call replace_parent_selector while we're doing the
CascadeData rebuilds, which is where we can have all the ancestor
nesting information.
No behavior change.
Differential Revision: https://phabricator.services.mozilla.com/D167237
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
This patch fixes a bug introduced by bug 1808228/D166266, where, if an
element does not initially match :nth-child(An+B of selector list) or
:nth-last-child(An+B of selector list), changing a sibling or ancestor
will not invalidate that element.
Differential Revision: https://phabricator.services.mozilla.com/D166982
Since we have been using a single hash map to cache all :nth-child
indices (with no selector list), each different selector will need its
own cache.
As a side note, this patch does not address invalidation.
Differential Revision: https://phabricator.services.mozilla.com/D166266
They have been disabled since bug 1688695. There's a variety of
table-caption bugs that would be easier to fix if we didn't have to
account for side-captions.
Differential Revision: https://phabricator.services.mozilla.com/D165690
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
This makes the matching / parsing more self-contained, and I believe
it's generally easier to follow. Also addresses review comments from the
previous patch.
Differential Revision: https://phabricator.services.mozilla.com/D165861
Like bug 1808226, this doesn't change any behavior, it just simplifies matching.
I also added a WPT JavaScript test for :only-of-type, since dedicated WPT
JavScript tests already exist for the other pseudo-classes this patch
touches.
Differential Revision: https://phabricator.services.mozilla.com/D165859
To accomplish this, all :nth- Components were replaced with type Nth,
which uses NthSelectorData.
Using NthSelectorData will make it easier to add selector lists for :nth
selectors later on, but this change by itself shouldn't change any
behavior.
Differential Revision: https://phabricator.services.mozilla.com/D165831
Allow keyword evaluators to return unknown.
Do you know of a good test to extend here? Otherwise I can add a new
one, though I gotta run atm.
Differential Revision: https://phabricator.services.mozilla.com/D165630