When transition-behavior is allow-discrete, the animation values are
transitionable even if they are not interpoltable, given that the
animation type of the CSS property is by computed value.
Also, we remove `animate()` check from `needs_transitions_update_per_property`.
This check was added for handling the transition between `auto` and
other values long time ago, but now it may be redundant (because we
still pass the tests without it) and we do the same things in
nsTransitionManager as well, so it should be fine to drop it, especially
after we support discrete transitions.
Differential Revision: https://phabricator.services.mozilla.com/D201865
The implementation is straight-forward. We have to check
if `transition-behavior` is `allow-discrete` when trying to create a new
transition and when checking if we have to cancel a running transition.
Also, the test case is out-of-date, so I tweak it a little bit and add
more general test cases for transtiion-behavior. Besides, I enable the
preference in the WPT folders which use `transition-behavior` (but
those tests may be passed already or failed due to reasons other than
`transition-behavior`).
Differential Revision: https://phabricator.services.mozilla.com/D201864
Was added in bug 1793012. No longer needed since `:has` is part of
reinvalidation selectors now. The new approach can be potentially-
pricey, but is a lot simpler.
Differential Revision: https://phabricator.services.mozilla.com/D200224
Would generate invalid results `:has()` selector if it's in the subject
compound but also uses a pseudo-selector (e.g. `.foo:has(.bar)::after`).
Also rename `Rightmost` to `SubjectOrPseudoElement` to more accurately
describe what it indicates.
Differential Revision: https://phabricator.services.mozilla.com/D200222
This speeds up custom variable substitution by avoiding re-tokenizing,
and variable reference parsing by avoiding doing duplicate work.
This is a very noticeable improvement in the NewsSite subtests of
speedometer 3 (see comparison posted in bug 1879318 and the #perf-sp3
matrix channel). But it also probably helps most websites using lots of
variables, and the browser UI itself.
Finally, it also avoids some duplication. Now regular substitution and
fallback substitution is handled uniformly, which causes a progression
in some properties-and-values tests.
Differential Revision: https://phabricator.services.mozilla.com/D201116
This is a preliminary patch to keep all references (even duplicates), in
order to speed up substitution by avoiding re-tokenizing.
The assumption is that referencing the same variable multiple times
on the declaration is not common, and thus it's not a big deal to
optimize for that.
Differential Revision: https://phabricator.services.mozilla.com/D201082
Inherited properties with universal syntax and unregistered properties should
behave basically the same.
This removes some redundant checks and guarantees that we have the same
code-paths in those two cases.
Differential Revision: https://phabricator.services.mozilla.com/D200995
Reduce the amount of times we need to manually call the custom property
registration code by handling values with and without references in the same
function.
Differential Revision: https://phabricator.services.mozilla.com/D200993
Older versions of the yaru theme had dark titlebars even in light mode
(like yaru-remix).
Instead of getting into the version-detection business, just don't
override with the Adwaita colors.
Differential Revision: https://phabricator.services.mozilla.com/D200362
Note that although this builds, it would (by itself) result in some test breakage;
this is resolved in the following patches that build on this.
Differential Revision: https://phabricator.services.mozilla.com/D198790
Note that although this builds, it would (by itself) result in some test breakage;
this is resolved in the following patches that build on this.
Differential Revision: https://phabricator.services.mozilla.com/D198790
* Move the manual code outside the auto-generated animated_properties
file.
* Treat unregistered custom properties and universal-syntax properties
the same.
* A void a bunch of copy-pasta and extra unnecessary clone() calls.
* Fix animations with mismatched multipliers, custom property names,
etc. This isn't really testable, since afaict you can't create such
an animation (maybe if you override the registration dynamically?),
but seems better for consistency.
Differential Revision: https://phabricator.services.mozilla.com/D199365
Note that although this builds, it would (by itself) result in some test breakage;
this is resolved in the following patches that build on this.
Differential Revision: https://phabricator.services.mozilla.com/D198790
Dependencies between custom properties and font-* properties are
resolved in bug 1855110, so these TODOs for bug 1856522 can be removed.
Differential Revision: https://phabricator.services.mozilla.com/D199208