Skip to content
  • commit-queue@webkit.org's avatar
    Register scrolling layers with ScrollingCoordinator · c032831a
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=78862
    
    Patch by Sami Kyostila <skyostil@google.com> on 2012-09-04
    Reviewed by James Robinson.
    
    In order to allow scrollable child layers to be scrolled off the main
    thread, register them with the ScrollingCoordinator. These layers are
    also removed from the non-fast scrollable region.
    
    Whenever the scroll offset or other scroll geometry related attribute of
    a compositor scrolled layer changes, the ScrollingCoordinator is
    informed to allow it to update its internal representation of the
    scrollable layer.
    
    No tests because the ScrollingCoordinator is currently not testable.
    
    * page/scrolling/ScrollingCoordinator.cpp:
    (WebCore::computeNonFastScrollableRegion): Composited scrolling layers
    can be scrolled off the main thread.
    (WebCore):
    (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
    Callback to ScrollingCoordinator about changes the composited scrolling layers.
    * page/scrolling/ScrollingCoordinator.h:
    (WebCore):
    (ScrollingCoordinator):
    * page/scrolling/ScrollingCoordinatorNone.cpp:
    (WebCore):
    (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
    * platform/ScrollableArea.h:
    (WebCore::ScrollableArea::usesCompositedScrolling):
    * rendering/RenderLayer.cpp:
    (WebCore):
    (WebCore::RenderLayer::usesCompositedScrolling):
    * rendering/RenderLayer.h:
    (RenderLayer):
    (WebCore::RenderLayer::usesCompositedScrolling):
    * rendering/RenderLayerBacking.cpp:
    (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
    (WebCore::RenderLayerBacking::updateScrollingLayers):
    * rendering/RenderLayerCompositor.cpp:
    (WebCore::RenderLayerCompositor::scrollingLayerDidChange):
    (WebCore):
    * rendering/RenderLayerCompositor.h:
    (RenderLayerCompositor):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    c032831a