mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
In the current implementation, if there is any interpolation error in a matched transform function pair, we fall-back to use InterpolateMatrix unconditionally. However, the error could be caused by: 1. mismatched transform function pair 2. matched transform function pair within at least one undecomposable matrix. Using InterpolateMatrix for case 1 makes sense, however, using InterpolateMatrix for case 2 does not. According to the spec, we should just report error for case 2, and let the caller do the fallback procedure. Using InterpolateMatrix for case 2 will go through more unnecessary code path, and produce more memory usage and calculation cost, which should be avoidable. In this patch, we add an extra pass to check if a transform function pair have matched operations in advance. With this information, we can easily tell whether the interpolation error in a equal-length transform function pair is caused by case 1 or case 2. So, we can avoid the unnecessary cost. Gecko bug: Bug 1399049 |
||
---|---|---|
.. | ||
helpers | ||
longhand | ||
shorthand | ||
build.py | ||
computed_value_flags.rs | ||
data.py | ||
declaration_block.rs | ||
gecko.mako.rs | ||
helpers.mako.rs | ||
Mako-0.9.1.zip | ||
properties.html.mako | ||
properties.mako.rs |