Open Bug 1393323 Opened 7 years ago Updated 2 years ago

stylo: transition is not triggered when a property in a css rule is directly changed and the target element has running animations

Categories

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

defect

Tracking

()

Tracking Status
firefox57 --- wontfix

People

(Reporter: hiro, Unassigned)

References

Details

Attachments

(1 file, 1 obsolete file)

Attached file An example (obsolete) —
See attaching file.
Attached file transition.html
Attachment #8900543 - Attachment is obsolete: true
I came up with an idea to fix this. But I am not sure the idea has no side effect.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=a353611b8be9c762403fc9b501260f826ad076b5
Oops, the idea is not good. In normal traversal, we do drop all animation restyle hints unlike animation-only restyle.
For my own reference, this test passes most of the time for me. When I run the test locally, it fails about 1 in 20 times. When I load it over HTTP it fails about 1 in 30~40 times or so.
CCing Xidorn, he might have a good idea to solve this.

I should note about what happens in the test case:

When a value in a css rule is changed by CSSOM, the value is replaced in the rule block before traversal.  So, if an element, which is applied to the css rule, has an animation, the new value is used in animation-only restyle, then, we can't trigger transitions properly in normal traversal because no value changed in the normal traversal.  What I tried in comment 2 is to skip the first animation-only restyle when any css rules changed, but this way makes our traversal code complex since normal traversal is supposed to be done after animation-only restyle (i.e. there is no pending animation restyles in normal traversal).
I have no idea, unfortunately. I'm not familiar with the traversals.

I think for setting property value, Gecko and Stylo should share majority of the idea. Both of them change the value in rule block directly.
Hiro, what should the priority of this be?
Flags: needinfo?(hikezoe)
I think we can set this to P3 since I believe triggering transitions with modifying values by CSSOM during other animations are running is rarely used.
Brian, please feel free to bump this priority if you think this is an important bug to fix in 57 release.
Flags: needinfo?(hikezoe)
Priority: -- → P3
Yes, I also think this is P3.
We should fix this, but it's too risky to do it in 57 so I'm going to mark this as P4 for now.
Priority: P3 → P4
Yeah, agree. I have only one risky way to solve this.
status-firefox57=wontfix unless someone thinks this bug should block 57
We cannot even use the same hack (the dirty style attribute stuff) for CSS rules since they're not unique...
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: