Skip to content
  • timothy_horton@apple.com's avatar
    On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles · d9d888c5
    timothy_horton@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=126531
    <rdar://problem/15745862>
    
    Reviewed by Anders Carlsson.
    
    Source/WebCore:
    
    * platform/graphics/ca/mac/TileController.h:
    * platform/graphics/ca/mac/TileController.mm:
    (WebCore::TileController::tilesWouldChangeForVisibleRect):
    (WebCore::TileController::scaledExposedRect):
    (WebCore::TileController::computeTileCoverageRect):
    (WebCore::TileController::revalidateTiles):
    (WebCore::TileController::updateTileCoverageMap):
    Scale the FrameView-space exposedRect into document space, to match the visibleRect.
    
    Flipping on WKView's clipsToExposedRect now works correctly even in Safari
    or MiniBrowser with zooming.
    
    Source/WebKit2:
    
    * UIProcess/API/ios/WKContentView.mm:
    (-[WKContentView _updateViewExposedRect]):
    (-[WKContentView setViewportSize:]):
    (-[WKContentView didFinishScrollTo:]):
    (-[WKContentView didScrollTo:]):
    (-[WKContentView didZoomToScale:]):
    Because zooming is performed by the UIScrollView, we need to transform
    the exposedRect's offset in order to get it in FrameView-relative coordinates.
    
    * UIProcess/ios/WebPageProxyIOS.mm:
    (WebKit::WebPageProxy::didFinishZooming):
    Save the pageScaleFactor when it changes.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    d9d888c5