[Webkit-unassigned] [Bug 38910] New: PageGroupLoadDeferrer should also defer executeScriptSoonTimer

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue May 11 08:36:28 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=38910

           Summary: PageGroupLoadDeferrer should also defer
                    executeScriptSoonTimer
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Page Loading
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: yong.li.webkit at gmail.com
                CC: staikos at kde.org


PageGroupLoadDeferrer suspends all active dom timers and loading jobs. But it doesn't suspend Document::m_executeScriptSoonTimer. In the case a m_executeScriptSoonTimer is already scheduled, and a JS alert window pops up (which is guarded by PageGroupLoadDeferrer), Document::m_executeScriptSoonTimer can still fire and run JS on the same doc, and then can schedule DOM timers on the doc.

I've seen it results ASSERTION failure in DOMTimer when the PageGroupLoadDeferrer destructs. (it resumes dom timers, and every dom timer asserts that it is currently suspended.)

But this problem cannot be reproduced reliably because it depends on timing. It happens only when m_executeScriptSoonTimer has been scheduled by not fired yet before a PageGroupLoadDeferrer is constructed.

The solution is simple: Just suspend all executeScriptSoonTimer timers in PageGroupLoadDeferrer ctor, and resume them in PageGroupLoadDeferrer dtro.

But it's very hard to create a layout test for it. Help needed!!!

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list