Changeset 145039 in webkit
- Timestamp:
- Mar 6, 2013, 9:58:57 PM (12 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r145037 r145039 1 2013-03-06 Tim Horton <timothy_horton@apple.com> 2 3 [wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame can't scroll 4 https://bugs.webkit.org/show_bug.cgi?id=111662 5 <rdar://problem/13355808> 6 7 Reviewed by Simon Fraser. 8 9 Instead of setNeedsDisplay()ing the whole page overlay layer every time through 10 TCADA::flushLayers, do it at scroll time instead. Repainting on scroll is 11 necessary to keep things painted in the right place when we scroll (the overlay 12 is fixed to the size of the view), but is quite wasteful in apps that don’t scroll. 13 14 This works with threaded scrolling because overlay installation forces us 15 into main-thread scrolling mode. 16 17 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 18 (WebKit::TiledCoreAnimationDrawingArea::scroll): 19 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 20 1 21 2013-03-06 Tim Horton <timothy_horton@apple.com> 2 22 -
trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm
r145037 r145039 111 111 void TiledCoreAnimationDrawingArea::scroll(const IntRect& scrollRect, const IntSize& scrollDelta) 112 112 { 113 m_pageOverlayLayer->setNeedsDisplay(); 113 114 } 114 115 … … 308 309 309 310 if (m_pageOverlayLayer) { 310 m_pageOverlayLayer->setNeedsDisplay();311 311 if (TiledBacking* overlayTiledBacking = m_pageOverlayLayer->tiledBacking()) 312 312 overlayTiledBacking->setVisibleRect(enclosingIntRect(m_rootLayer.get().frame));
Note:
See TracChangeset
for help on using the changeset viewer.