Changeset 157279 in webkit
- Timestamp:
- Oct 10, 2013, 5:30:29 PM (12 years ago)
- Location:
- trunk/Source/WebKit/mac
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/mac/ChangeLog
r157265 r157279 1 2013-10-10 Simon Fraser <simon.fraser@apple.com> 2 3 Always force layout before flushing compositing layers 4 https://bugs.webkit.org/show_bug.cgi?id=122626 5 6 Reviewed by Tim Horton. 7 8 [m_webView _flushCompositingChanges] only actually flushes compositing 9 layers if the FrameView does not need layout (FrameView::flushCompositingStateForThisFrame() 10 returns in this case). In this situation, flushLayers() does actually try 11 to force a layout, but on some platforms it's possible for something else 12 to dirty layout before the runloop observer fires again. This can result 13 in flushLayers() never actually managing to flush, which stalls visual 14 updates. 15 16 Fix by always calling -viewWillDraw (which updates layout) before flushing 17 layers. This now matches WebKit2 behavior. 18 19 * WebView/WebView.mm: 20 (LayerFlushController::flushLayers): 21 1 22 2013-10-10 Andy Estes <aestes@apple.com> 2 23 -
trunk/Source/WebKit/mac/WebView/WebView.mm
r157265 r157279 6511 6511 return false; 6512 6512 6513 [m_webView _viewWillDrawInternal]; 6514 6513 6515 if ([m_webView _flushCompositingChanges]) { 6514 6516 // AppKit may have disabled screen updates, thinking an upcoming window flush will re-enable them. … … 6520 6522 return true; 6521 6523 } 6522 6523 // Since the WebView does not need display, -viewWillDraw will not be called. Perform pending layout now,6524 // so that the layers draw with up-to-date layout.6525 [m_webView _viewWillDrawInternal];6526 6524 6527 6525 return false;
Note:
See TracChangeset
for help on using the changeset viewer.