servo/components/style/values/animated
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
..
color.rs style: Support color-mix() in non-sRGB color spaces 2023-05-24 18:32:41 +02:00
effects.rs style: rustfmt recent changes. 2019-07-08 12:45:56 +02:00
font.rs Fix warnings introduced in newer Rust Nightly 2021-02-25 15:36:03 +01:00
grid.rs style: Refactor grid types to preserve repeat() at computed value time and use cbindgen. 2019-08-15 16:58:44 +02:00
mod.rs style: Make CalcNode the specified representation of <length> and <length-percentage> values. 2020-04-16 16:35:07 +02:00
svg.rs style: Simplify parsing and storage of SVG paint server fallback. r=boris 2019-07-08 12:46:39 +02:00
transform.rs style: Avoid generating InterpolateMatrix operations if there are no size dependencies 2023-06-09 10:22:26 +02:00