Compositing layer sync should cause deferred repaints to be fired immediately
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 2 Jul 2012 22:14:54 +0000 (22:14 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 2 Jul 2012 22:14:54 +0000 (22:14 +0000)
commit2153926abcb2f101cc15f582f4ee86c95296da54
tree2e5cf41aa914a6c8783ad35ce828ce1b360fb63d
parentf3869e4399adf5770c8ceb15b84a2dbe77a1fe0c
Compositing layer sync should cause deferred repaints to be fired immediately
https://bugs.webkit.org/show_bug.cgi?id=90401
<rdar://problem/11792028>

Reviewed by Simon Fraser and Antti Koivisto.

If we sync compositing layers and allow the repaint to be deferred, there is time for a
visible flash to occur. Instead, stop the deferred repaint timer and repaint immediately.

No new tests, configuration and timing dependent.

* page/FrameView.cpp:
(WebCore::FrameView::syncCompositingStateForThisFrame):
(WebCore::FrameView::checkStopDelayingDeferredRepaints):
(WebCore::FrameView::stopDelayingDeferredRepaints): Split off from checkStopDelayingDeferredRepaints.
* page/FrameView.h:
(FrameView): Add stopDelayingDeferredRepaints.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121708 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/page/FrameView.cpp
Source/WebCore/page/FrameView.h