Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upstylo: Bug 1335998 - Handle interpolation and accumulation of mismatched transform lists #17202
Conversation
We use this arm to store the interpolated result of two mismatched transform lists, and we resolve it until we know the reference box size (on Gecko side). The conversion from ComputedOperation::InterpolateMatrix to eCSSKeyword_interpolatematrix will be implemented later in this patch series.
If we set the composite operation to accumulate, we may need to accumulate two mismatched transform lists, and then to interpolate them. In order to accumulate two mismatched transform lists, we also need the reference box information, so use the same idea as that for interpolation. i.e. use AccmulateMatrix to store it temporarily, and convert it into matrix later.
… type.
We convert ComputedOperation::{Accumulate, Interpolate}Matrix into gecko type
not on the main thread, so we cannot use nsCSSValueList_heap (which is not
thread safe so we cannot create it and destroy it on different threads).
Therefore, we use nsCSSValueSharedList to represent the cloned
from_list/to_list. In this patch, we also implement the reversing way,
i.e. Convert eCSSKeyword_{accumulate, interpolate}matrix into
{Accumulate, Interpolate}Matrix.
highfive
commented
Jun 7, 2017
|
Heads up! This PR modifies the following files:
|
highfive
commented
Jun 7, 2017
a1f6b55
to
a2a19f0
|
@bors-servo try |
…m, r=<try> stylo: Bug 1335998 - Handle interpolation and accumulation of mismatched transform lists These are the interdependent patches of Bug 1335998. We want to do interpolation and accumulation for mismatched transform lists, so introduce ComputedOperation::InterpolateMatrix and ComputedOperation::Accumulation. Both arms store the from_list and to_list, and resolve them until we have the layout information. For the Servo part, we haven't implemented how to read the transform lists in layout/fragment.rs, but I think it would be easy. (related issue #13267) --- - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix [Bug 1335998](https://bugzilla.mozilla.org/show_bug.cgi?id=1335998) - [X] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17202) <!-- Reviewable:end -->
|
Wait for gecko final try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=085663069f37 |
|
@bors-servo r=Manishearth,birtles |
|
|
|
|
|
|
|
@bors-servo retry Did someone manual merge something? O.o |
|
OK, let me rebase it |
|
Oh, you retry it. let's wait |
|
@bors-servo p=1 |
…m, r=Manishearth,birtles stylo: Bug 1335998 - Handle interpolation and accumulation of mismatched transform lists These are the interdependent patches of Bug 1335998. We want to do interpolation and accumulation for mismatched transform lists, so introduce ComputedOperation::InterpolateMatrix and ComputedOperation::Accumulation. Both arms store the from_list and to_list, and resolve them until we have the layout information. For the Servo part, we haven't implemented how to read the transform lists in layout/fragment.rs, but I think it would be easy. (related issue #13267) --- - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix [Bug 1335998](https://bugzilla.mozilla.org/show_bug.cgi?id=1335998) - [X] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17202) <!-- Reviewable:end -->
|
|
BorisChiou commentedJun 7, 2017
•
edited by larsbergstrom
These are the interdependent patches of Bug 1335998. We want to do interpolation and accumulation for mismatched transform lists, so introduce ComputedOperation::InterpolateMatrix and ComputedOperation::Accumulation. Both arms store the from_list and to_list, and resolve them until we have the layout information. For the Servo part, we haven't implemented how to read the transform lists in layout/fragment.rs, but I think it would be easy. (related issue #13267)
./mach build -ddoes not report any errors./mach test-tidydoes not report any errorsThis change is