Skip to content
  • simon.fraser@apple.com's avatar
    2009-10-18 Simon Fraser <simon.fraser@apple.com> · 02459ab2
    simon.fraser@apple.com authored
            Reviewed by Dan Bernstein.
    
            Compositing layers not correctly updated after partial layout
            https://bugs.webkit.org/show_bug.cgi?id=30425
    
            When a partial layout happened, for example as the result of a postion-change-only
            layout, then some compositing layer positions were not correctly updated. To fix
            this, updateLayerPositions() now carries along a flag that is set at the rootmost
            layer being updated, and used to determine when we hit the first compositing layer
            in this update. RenderLayerBacking::updateAfterLayout() makes use of this information
            to do a full geometry update on that layer, which is thus the rootmost compositing
            layer that is being updated.
    
            Test: compositing/geometry/partial-layout-update.html
    
            * page/FrameView.cpp:
            (WebCore::FrameView::layout):
            * rendering/RenderLayer.cpp:
            (WebCore::RenderLayer::updateLayerPositions):
            (WebCore::RenderLayer::scrollToOffset):
            * rendering/RenderLayer.h:
            (WebCore::RenderLayer::):
            * rendering/RenderLayerBacking.cpp:
            (WebCore::RenderLayerBacking::updateAfterLayout):
            * rendering/RenderLayerBacking.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    02459ab2