Chromium Code Reviews
DescriptionDon't use matrix decomposation on transform list interpolations with compatible pairs of operations
The existing code required transform lists to have identical pairs of
operation types in order to do pairwise interpolation instead of
matrix decomposition.
The transform spec states that each pair must have the same name or
be a derivation of the same primitive.
https://drafts.csswg.org/css-transforms-1/#interpolation-of-transforms
This permits pairs like scaleX and scaleY to be compatible while our
existing code would reject them and fall back to decomposition
interpolation. This difference in behaviour is usually only noticable
when one side of the interpolation is non-invertable.
This patch updates our code to match the spec and more closely match
Firefox's behaviour. Firefox falls back to post multiplication
whenever mismatched rotate functions are blended which does not match
spec text.
Filed Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1322189
BUG=619616
Committed: https://crrev.com/a5df6c6cf9b46d62121f92e5e4161058877c7051
Cr-Commit-Position: refs/heads/master@{#436845}
Patch Set 1 #Patch Set 2 : Rewrite for primitive types #Patch Set 3 : Rename #Messages
Total messages: 17 (10 generated)
|