Bug 29510 - Active DOM objects should be suspended while a modal dialog is displayed
Summary: Active DOM objects should be suspended while a modal dialog is displayed
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Alexey Proskuryakov
Depends on:
Reported: 2009-09-18 15:18 PDT by Alexey Proskuryakov
Modified: 2009-09-18 15:26 PDT (History)
0 users

See Also:

proposed patch (3.23 KB, patch)
2009-09-18 15:23 PDT, Alexey Proskuryakov
darin: review+
Details | Formatted Diff | Diff

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