Bug 18560

Summary: Frame::clearTimers() calls suspendMarquees() on the wrong document
Product: WebKit Reporter: Dean Jackson <dino>
Component: Page LoadingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, olivier
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Attachments:
Description Flags
patch for clearing timers
hyatt: review+
testcase for clearing timers none

Description Dean Jackson 2008-04-17 16:19:08 PDT
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.
Comment 1 Dean Jackson 2008-04-17 16:22:39 PDT
Created attachment 20646 [details]
patch for clearing timers

Patch is extracted from git, not svn
Comment 2 Dean Jackson 2008-04-17 16:23:17 PDT
Created attachment 20650 [details]
testcase for clearing timers
Comment 3 Dave Hyatt 2008-04-17 17:46:14 PDT
Comment on attachment 20646 [details]
patch for clearing timers

r=me
Comment 4 Dean Jackson 2008-04-18 13:18:00 PDT
fixed in r32223

Comment 5 Simon Fraser (smfr) 2008-08-07 11:20:40 PDT
*** Bug 16995 has been marked as a duplicate of this bug. ***