Changeset 243381 in webkit
- Timestamp:
- Mar 22, 2019, 9:38:57 AM (7 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h (modified) (1 diff)
-
WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r243380 r243381 1 2019-03-22 Simon Fraser <simon.fraser@apple.com> 2 3 REGRESSION (r242687): Flicker when pinch-zooming pages in macOS Safari 4 https://bugs.webkit.org/show_bug.cgi?id=196126 5 rdar://problem/49095791 6 7 Reviewed by Antti Koivisto. 8 9 The scrolling tree doesn't have an accurate picture of the main view's scroll position 10 during pinch-zooming, so don't have it apply layer positions if a transient zoom is 11 in progress. 12 13 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 14 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 15 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 16 (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage): 17 1 18 2019-03-22 Antti Koivisto <antti@apple.com> 2 19 -
trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h
r243360 r243381 89 89 bool dispatchDidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone>) override; 90 90 91 void flushLayers(); 91 enum class FlushType { Normal, TransientZoom }; 92 void flushLayers(FlushType = FlushType::Normal); 92 93 93 94 // Message handlers. -
trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm
r243360 r243381 452 452 } 453 453 454 void TiledCoreAnimationDrawingArea::flushLayers( )454 void TiledCoreAnimationDrawingArea::flushLayers(FlushType flushType) 455 455 { 456 456 if (layerTreeStateIsFrozen()) … … 494 494 if (auto* scrollingCoordinator = m_webPage.corePage()->scrollingCoordinator()) { 495 495 scrollingCoordinator->commitTreeStateIfNeeded(); 496 scrollingCoordinator->applyScrollingTreeLayerPositions(); 496 if (flushType == FlushType::TransientZoom) 497 scrollingCoordinator->applyScrollingTreeLayerPositions(); 497 498 } 498 499 #endif … … 924 925 m_webPage.scalePage(scale / m_webPage.viewScaleFactor(), roundedIntPoint(-unscrolledOrigin)); 925 926 m_transientZoomScale = 1; 926 flushLayers( );927 flushLayers(FlushType::TransientZoom); 927 928 } 928 929
Note:
See TracChangeset
for help on using the changeset viewer.