Bug 29510

Summary: Active DOM objects should be suspended while a modal dialog is displayed
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: WebCore Misc.Assignee: Alexey Proskuryakov <ap>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Attachments:
Description Flags
proposed patch darin: review+

Description Alexey Proskuryakov 2009-09-18 15:18:22 PDT
PageGroupLoadDeferrer calls suspendActiveDOMObjects() on all platforms but Mac, which results in e.g. DOM timers working in a page beneath a modal dialog. This doesn't match Safari for Windows or Firefox, and generally doesn't make much sense.

Other active DOM objects also need to be suspended to avoid reentrant JavaScript execution.
Comment 1 Alexey Proskuryakov 2009-09-18 15:23:09 PDT
Created attachment 39799 [details]
proposed patch
Comment 2 Alexey Proskuryakov 2009-09-18 15:26:43 PDT
Committed revision 48540.

Note that Firefox doesn't fully pass the test - even though timers are disabled while the modal alert and dialog are displayed, they still run while he latter is being created.