servo/components/style/values
Emilio Cobos Álvarez 080b3f8d1a style: Avoid generating InterpolateMatrix operations if there are no size dependencies
The issue here is that we end up with a transition between mismatched
transform lists that ends up generating an InterpolateMatrix {}
operation. So far so good, but we end up interpolating that a lot of
times and generating an unboundedly-deep operation list.

This implementas an optimization that flattens them to a single matrix
when possible (when there's no dependencies on the containing box).

This is similar to:

  https://chromium.googlesource.com/chromium/src.git/+/2b89cc4df436e672ef9cf940d1c0dc73fef82a4a

We fix the to_pixel_length() behavior for LenghtPercentage to be
correct (and update callers to preserve behavior).

Differential Revision: https://phabricator.services.mozilla.com/D134784
2023-06-09 10:22:26 +02:00
..
animated style: Avoid generating InterpolateMatrix operations if there are no size dependencies 2023-06-09 10:22:26 +02:00
computed style: Make color-adjust an alias of print-color-adjust as per spec 2023-06-09 10:22:25 +02:00
generics style: Avoid generating InterpolateMatrix operations if there are no size dependencies 2023-06-09 10:22:26 +02:00
resolved style: Run rustfmt on servo/components/style and servo/ports/geckolib 2023-06-09 10:22:19 +02:00
specified style: Make color-adjust an alias of print-color-adjust as per spec 2023-06-09 10:22:25 +02:00
distance.rs style: Drop fallback attribute from animate and distance. 2020-04-16 16:35:07 +02:00
mod.rs style: Add support for the revert-layer keyword 2023-06-09 10:22:22 +02:00