Reviewed by Darin.
authortomernic <tomernic@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 May 2006 19:05:27 +0000 (19:05 +0000)
committertomernic <tomernic@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 May 2006 19:05:27 +0000 (19:05 +0000)
commit50531e833f50f72a0679ecdef777f32801d0a475
tree4e93074cf0dd0996a67f3ccbeb03a89d096dd802
parent73e4bae4c055cf7f08747a46a785e03d01b1a2ad
    Reviewed by Darin.

        Safari's Page Load Test (PLT) saturates the runloop with so many sources that timers are not allowed to fire
        as frequently as they should.  This is a general problem with the PLT -- because of this, it does not measure
        work done in timer callbacks during/after the page load process.

        Unfortunately, this aspect of the PLT interferes with our window display throttle hack.  Because we throttle
        display using timers, and the PLT starves timers, most of the pages loaded by the PLT do not actually display.
        This makes the PLT run "too fast", yielding ridiculously fast numbers compared to when throttling is disabled.

        I've added a new method that the PLT can call after each page load to force any starved display throttle timers
        to fire.  By doing this, Safari's PLT will be guaranteed to display each page at least once.

        * Misc/WebNSWindowExtras.h:
        * Misc/WebNSWindowExtras.m:
        Added a special internal runloop mode for the throttle timers.
        (+[NSWindow _webkit_displayThrottledWindows]):
        Run the runloop in our special internal mode until there are no more sources to handle.
        (requestWindowDisplay):
        Schedule the timer in the new mode as well as the standard modes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit/ChangeLog
WebKit/Misc/WebNSWindowExtras.h
WebKit/Misc/WebNSWindowExtras.m