RESOLVED FIXED 90401
Compositing layer sync should cause deferred repaints to be fired immediately
https://bugs.webkit.org/show_bug.cgi?id=90401
Summary Compositing layer sync should cause deferred repaints to be fired immediately
Tim Horton
Reported 2012-07-02 14:19:54 PDT
When we sync compositing layer state, we need to paint immediately, no matter what; otherwise we might see a visible flash before painting occurs.
Attachments
patch (2.80 KB, patch)
2012-07-02 14:30 PDT, Tim Horton
koivisto: review+
simon.fraser: commit-queue-
Radar WebKit Bug Importer
Comment 1 2012-07-02 14:20:32 PDT
Tim Horton
Comment 2 2012-07-02 14:30:09 PDT
Simon Fraser (smfr)
Comment 3 2012-07-02 14:51:42 PDT
Comment on attachment 150475 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=150475&action=review > Source/WebCore/page/FrameView.cpp:752 > root->compositor()->flushPendingLayerChanges(rootFrameForSync == m_frame); > > + // 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. > + stopDelayingDeferredRepaints(); I think we should swap these around. If deferred repaints at some point affects compositing layers (it does not yet), then we'd want those repaints to get flushed.
Antti Koivisto
Comment 4 2012-07-02 15:00:44 PDT
Comment on attachment 150475 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=150475&action=review > Source/WebCore/page/FrameView.cpp:1948 > + if (!m_deferredRepaintTimer.isActive()) > + return; > + > m_deferredRepaintTimer.stop(); This does not make any sense.
Antti Koivisto
Comment 5 2012-07-02 15:03:07 PDT
Comment on attachment 150475 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=150475&action=review >> Source/WebCore/page/FrameView.cpp:1948 >> m_deferredRepaintTimer.stop(); > > This does not make any sense. Actually it does, I misread!
Tim Horton
Comment 6 2012-07-02 15:15:23 PDT
Note You need to log in before you can comment on or make changes to this bug.