Skip to content
  • simon.fraser@apple.com's avatar
    2009-07-10 Simon Fraser <simon.fraser@apple.com> · 7507c6a3
    simon.fraser@apple.com authored
            Reviewed by John Sullivan.
    
            Flashing as hardware layers are created and destroyed in some content
            <rdar://problem/7032246>
    
            There's a window of time between the end of one runloop cycle, after CA layers changes
            have been committed, and the window display at the start of the next cycle when
            CA may push updates to the screen before AppKit has drawn the view contents. If
            we know that we need to do drawing synchronization (which we do when content moves
            between a layer and the view), then we need to call -disableScreenUpdatesUntilFlush
            from the existing runloop observer that is set up when layers need repainting to
            ensure that layer updates don't reach the screen before view-based painting does.
    
            * WebView/WebHTMLView.mm:
            (-[WebHTMLView drawRect:]):
            Tweak the comments
    
            * WebView/WebView.mm:
            (viewUpdateRunLoopObserverCallBack):
            (-[WebView _scheduleViewUpdate]):
            Add a big comment to explain the timing of things.
            Call -disableScreenUpdatesUntilFlush when the view _needsOneShotDrawingSynchronization.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@45745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    7507c6a3