Skip to content
  • timothy_horton@apple.com's avatar
    Remote Layer Tree: Backing store should take contentsScale into account · 101b27bd
    timothy_horton@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=123106
    
    Reviewed by Simon Fraser.
    
    * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
    (PlatformCALayerRemote::ensureBackingStore):
    (PlatformCALayerRemote::setNeedsDisplay):
    (PlatformCALayerRemote::setContentsScale):
    Inform the backing store of the contentsScale, and when it changes.
    
    * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
    (WebKit::RemoteLayerBackingStore::scale): Added.
    (WebKit::RemoteLayerBackingStore::mapToContentCoordinates): Added.
    * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
    (RemoteLayerBackingStore::RemoteLayerBackingStore):
    (RemoteLayerBackingStore::encode):
    (RemoteLayerBackingStore::decode):
    (RemoteLayerBackingStore::mapToContentCoordinates):
    Factor out flipping so we can use it for repaints in multiple places.
    
    (RemoteLayerBackingStore::setNeedsDisplay):
    (RemoteLayerBackingStore::display):
    Create a buffer scaled up by contentsScale, take the scale into account
    when copying clean bits from the front buffer, and apply the scale before
    painting into the back buffer.
    
    * WebCore.exp.in:
    Export FloatRect::scale.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    101b27bd