Looking at http://www.w3.org/TR/animation-timing/ there is a section that reads: "The requestAnimationFrame method is used to signal to the user agent that a script-based animation needs to be resampled. When requestAnimationFrame(callback) is called, the user agent must schedule a script-based animation resampling by appending to the end of the animation frame request callback list an entry whose handle is a user-agent-defined integer greater than zero that uniquely identifies the entry in the list and whose callback is callback." However the first call to webkitRequestAnimationFrame seems to be returning a handle of 0. It's minor, but worth mentioning.
Yeah, easy fix.
Whoops! Pre-increment when it should be a post-increment. For the record, the intent of that text is that the return value should never be false-y and it should match setTimeout/setInterval
<rdar://problem/12100411>
Created attachment 158471 [details] Patch
Committed r125633: <http://trac.webkit.org/changeset/125633>