Product nodes are eagerly resolved during parse time, but sum nodes are
not. This might cause floating point inprecision in sum nodes, which
leads to invalid calculations, e.g. `round(down, (7 - 1) / 3, 1)` would
end up being `round(down, (2.3333333 - 0.33333334), 1)`, then
`round(down, 1.99999996, 1)`, which equals `1`, which is incorrect.
Original Revision: https://phabricator.services.mozilla.com/D225936
Differential Revision: https://phabricator.services.mozilla.com/D232498
After bug 1867854, dialog windows on macOS no longer show desktop tinting on the window background. Since this requires a transparent Gecko background, the `-moz-mac-unified-toolbar-window` appearance added in bug 1870481 should be applied to every window. It has been renamed to reflect this.
Original Revision: https://phabricator.services.mozilla.com/D215596
Differential Revision: https://phabricator.services.mozilla.com/D219588
It updates serde and syn and they are more strict. In particular, syn 2
doesn't parse the rust 2015 syntax where try is not a keyword, and serde
rejects duplicate keys.
Differential Revision: https://phabricator.services.mozilla.com/D219025
This patch move `WritingMode` to the second argument, for the consistency with
the design of its own APIs like `StyleRect::Start(LogicalAxis, WritingMode)`,
and logical classes such as `LogicalMargin::Side(LogicalSide, WritingMode)`.
Differential Revision: https://phabricator.services.mozilla.com/D212505
Update the API, `nspectorUtils.getCSSStyleRules`. Add one extra
argument so the user can choose whether we should return the starting
style, for a given element, at this moment.
Differential Revision: https://phabricator.services.mozilla.com/D209318
These properties were added as part of the experimental Masonry support added
in bug 1607954. Since then the CSS WG resolved to remove these properties in:
https://github.com/w3c/csswg-drafts/pull/9529
This patch is a fairly brain dead removal of the properties, simply changing
the consumer code to take the code paths that would have been taken previously
if the properties were not set. That leaves some obvious dead code, which has
been removed, but no attempt has been made to redesign the Masonry code to
"make sense" without these properties. That would require a more prolonged
effort to understand Masonry, how the spec has changed in the last four years,
and how we should best change our code.
For now, this removal is simply focused on reducing the amount of memory used
by nsStyleDisplay to unblock the landing of bug 1899949.
Differential Revision: https://phabricator.services.mozilla.com/D212358
This fixes a regression with :has() on the test-case of bug 1480477 (but
we should still aim to make that faster).
While at it, avoid synchronization in some really hot paths, and add
tests.
Differential Revision: https://phabricator.services.mozilla.com/D212039
A scoped style can match the featureless shadow host:
* Constructed stylesheets adopted by the shadow DOM
* Implicit scope defined in `<style>` at shadow root
* Explicit scope with `scope-start` selector of `:host`
Hence, they should not be considered non-featureless selector during parse time,
adding to featureless host rules when we can determine if we're in one of the
above cases.
Differential Revision: https://phabricator.services.mozilla.com/D207782
This is a bit less complicated than lengths because there's no cycle
possible which could turn the color-scheme declaration invalid afaict.
So it's just that we need to defer the colors when color-scheme is
specified, which is slightly annoying, but maybe not too bad.
I had to tweak a bit the code to defer properties to fix a bug that we
were papering over accidentally. We were using the wrong registration
here:
https://searchfox.org/mozilla-central/rev/f60bb10a5fe6936f9e9f9e8a90d52c18a0ffd818/servo/components/style/custom_properties.rs#1613
That's the registration for reference.name, not for name, which
papered over some issues. The fix is simple tho, which is storing a
single CustomPropertiesMap.
Differential Revision: https://phabricator.services.mozilla.com/D211860
If `getComputedStyle(...).getPropertyValue` is called on a registered
custom property that is used in a transition and that custom property's
registration is removed, `to` can be `None`.
Differential Revision: https://phabricator.services.mozilla.com/D211947