[webkit-reviews] review requested: [Bug 23088] CSS Transition property hangs Webkit under certain conditions : [Attachment 26648] Patch, including LayoutTest file
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jan 12 13:43:23 PST 2009
Chris Marrin <cmarrin at apple.com> has asked for review:
Bug 23088: CSS Transition property hangs Webkit under certain conditions
https://bugs.webkit.org/show_bug.cgi?id=23088
Attachment 26648: Patch, including LayoutTest file
https://bugs.webkit.org/attachment.cgi?id=26648&action=review
------- Additional Comments from Chris Marrin <cmarrin at apple.com>
Fixed https://bugs.webkit.org/show_bug.cgi?id=23088.
This was happening because I was calling setChanged() from inside
updateRendering()
which causes an infinite loop. I fixed this by deferring the setChanged
to the next
run loop iteration. That made it not infinite loop, but it still
retriggers the
transition forever. The problem is that there is both an 'all' and
specific transition
on 'opacity'. This tickled a bug in AnimationController which causes
the opacity
transition to get constantly cancelled and then retriggered. The
problem is that
the specific opacity transition has a duration of 0. I got rid of the
logic to
flush out 0 duration transitions and it is no longer constantly
triggered. The
logic to flush them was just an optimization, and you really need to
keep them
around to make the logic to override earlier animations by later ones
work. And there is
very little overhead in this case anyway, so the optimization was not
that useful.
I made a LayoutTest from the original testcase which tests both the
infinite
loop and constantly triggering animation cases.
More information about the webkit-reviews
mailing list