To reproduce: 1. Open a Safari window. 2. Drag 5-6 HTML files into the window, roughly one per second (to fill up the page cache). 3. Quickly drag the attached marquee test into the window. Wait for a few seconds. Note that the marquee stops. What's happening is that the page cache timer is firing, and calling Frame::clearTimers(). That method is getting a document via view->frame()->document(), but that's the currently loaded document, not the one in the page cache.
Created attachment 20646 [details] patch for clearing timers Patch is extracted from git, not svn
Created attachment 20650 [details] testcase for clearing timers
Comment on attachment 20646 [details] patch for clearing timers r=me
fixed in r32223
*** Bug 16995 has been marked as a duplicate of this bug. ***