[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