Closed Bug 1365851 Opened 7 years ago Closed 7 years ago

stylo: Interpolate mismatched transform lists

Categories

(Core :: CSS Parsing and Computation, defect, P2)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1335998

People

(Reporter: birtles, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 4 obsolete files)

Attached file Test case
Servo doesn't support interpolating mismatched transform lists[1] so the attached test case won't produce the correct result.

[1] http://searchfox.org/mozilla-central/rev/f55349994fdac101d121b11dac769f3f17fbec4b/servo/components/style/properties/helpers/animated_properties.mako.rs#1692
Not sure this intermittent [1] is related to this bug. table-overflowed-by-animation.html uses mismatched transform lists [2].

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1358266
[2] http://searchfox.org/mozilla-central/source/layout/reftests/transform/table-overflowed-by-animation.html
(In reply to Boris Chiou [:boris] from comment #1)
> Not sure this intermittent [1] is related to this bug.
> table-overflowed-by-animation.html uses mismatched transform lists [2].
> 
> [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1358266
> [2]
> http://searchfox.org/mozilla-central/source/layout/reftests/transform/table-
> overflowed-by-animation.html

Sometimes, I see this on stylo try.
(In reply to Boris Chiou [:boris] from comment #1)
> Not sure this intermittent [1] is related to this bug.
> table-overflowed-by-animation.html uses mismatched transform lists [2].

Oh, I just realized this comment. Actually I read before but forgot it completely.
I think we should disable the test until this bug is fixed.
Priority: -- → P2
Blocks: 1367290
Now that we're starting to test real Web content more often, this bug seems to be coming up a lot. This would be a great bug to tackle in the next week or so (and could be done entirely on the Servo side by a volunteer/new contributor even, provided they don't take too long).
Maybe we should add a special arm which represents eCSSKeyword_interpolatematrix for Servo, and we can just pass this type to Gecko, so when Gecko sees this type in nsDisplayList.cpp, it can read the transform matrix because we already know the frame info and so process the interpolation.

For the github issues, "percent and length for translate", I guess we should replace
  ComputedOperation::Translate(computed::LengthOrPercentage, ...)
with
  ComputedOperation::Translate(computed::CalcLengthOrPercentage, ...),
so we can also pass this calc type into Gecko, and nsDisplayList can handle it [1].

BUT this solution only fix this for "stylo".

[1] http://searchfox.org/mozilla-central/rev/35b37316149108d53a02fb8498e250ea8a22ab5d/layout/style/nsStyleTransformMatrix.cpp#137
I did not think initially this bug means the servo issue of 13267.   We have already bug 1335998 for it.  Anyway we will need it eventually though.
(In reply to Hiroyuki Ikezoe (:hiro) from comment #7)
> I did not think initially this bug means the servo issue of 13267.   We have
> already bug 1335998 for it.  Anyway we will need it eventually though.

I guess this is the same as bug 1335998, right? We use interpolatematrix to handle mismatched transform lists. (i.e. delay the interpolation of two mismatched transform lists until nsDisplayList)
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Sorry, wrong bug number
Attachment #8872301 - Attachment is obsolete: true
Attachment #8872302 - Attachment is obsolete: true
Attachment #8872303 - Attachment is obsolete: true
Attachment #8872304 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: