Skip to content
  • commit-queue@webkit.org's avatar
    Support bottom-right anchored fixed-position elements during a pinch gesture · 9b56533e
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=111670
    
    Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-03-28
    Reviewed by James Robinson.
    
    Source/Platform:
    
    Added WebLayerPositionConstraint for layers that need position
    adjustment during threaded scrolling.
    Currently it is only used for fixed-position layers.
    
    * Platform.gypi:
    * chromium/public/WebLayer.h:
    (WebKit):
    (WebLayer):
    (WebKit::WebLayer::setPositionConstraint):
    (WebKit::WebLayer::positionConstraint):
    (WebKit::WebLayer::setFixedToContainerLayer):
    (WebKit::WebLayer::fixedToContainerLayer):
    * chromium/public/WebLayerPositionConstraint.h: Added.
    (WebKit):
    (WebLayerPositionConstraint):
    (WebKit::WebLayerPositionConstraint::WebLayerPositionConstraint):
    (WebKit::WebLayerPositionConstraint::fixedPosition):
    
    Source/WebCore:
    
    This patch adds support to bottom-right fixed-position elements by
    introducing WebLayerPositionConstraint to WebLayer.
    
    No new tests. Can't test until chromium patch landed.
    
    * page/scrolling/ScrollingCoordinator.h:
    (WebCore::ScrollingCoordinator::updateLayerPositionConstraint):
    * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
    (WebCore::clearPositionConstraintExceptForLayer):
    (WebCore):
    (WebCore::computePositionConstraint):
    (WebCore::ScrollingCoordinatorChromium::updateLayerPositionConstraint):
    * page/scrolling/chromium/ScrollingCoordinatorChromium.h:
    (ScrollingCoordinatorChromium):
    * rendering/RenderLayerBacking.cpp:
    (WebCore::RenderLayerBacking::registerScrollingLayers):
    * rendering/RenderLayerBacking.h:
    (WebCore::RenderLayerBacking::contentsContainmentLayer):
    (RenderLayerBacking):
    * rendering/RenderLayerCompositor.cpp:
    * rendering/RenderLayerCompositor.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    9b56533e