Bug 18560 - Frame::clearTimers() calls suspendMarquees() on the wrong document
Summary: Frame::clearTimers() calls suspendMarquees() on the wrong document
Alias: None
Product: WebKit
Classification: Unclassified
Component: Page Loading (show other bugs)
Version: 528+ (Nightly build)
Hardware: Macintosh OS X 10.5
: P2 Normal
Assignee: Nobody
: 16995 (view as bug list)
Depends on:
Reported: 2008-04-17 16:19 PDT by Dean Jackson
Modified: 2008-08-07 11:20 PDT (History)
2 users (show)

See Also:

patch for clearing timers (2.07 KB, patch)
2008-04-17 16:22 PDT, Dean Jackson
hyatt: review+
Details | Formatted Diff | Diff
testcase for clearing timers (848 bytes, text/html)
2008-04-17 16:23 PDT, Dean Jackson
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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

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. ***