Skip to content
  • jamesr@google.com's avatar
    2010-04-01 James Robinson <jamesr@chromium.org> · 2a4ad996
    jamesr@google.com authored
            Reviewed by Simon Fraser.
    
            Keeps a transient optimistic offset to the root in RenderLayer::updateLayerPositions
            https://bugs.webkit.org/show_bug.cgi?id=33520
    
            RenderLayer::updateLayerPositions() makes a recursive walk through all RenderLayers and updates the repaint rectangles on each.
            These rectangles have to be calculated in the repaint container's coordinates using RenderObject::mapLocalToContainer to walk
            up to the repaint container.  This patch keeps track of the offset to the root and uses that offset instead of walking back up to
            the root every time.
    
            Tests: fast/layers/nested-layers-1.html
                   fast/layers/nested-layers-2.html
                   fast/layers/nested-layers-3.html
                   fast/layers/nested-layers-4.html
    
            * page/FrameView.cpp:
            (WebCore::FrameView::layout):
            * rendering/RenderBox.cpp:
            (WebCore::RenderBox::outlineBoundsForRepaint):
            * rendering/RenderBox.h:
            * rendering/RenderLayer.cpp:
            (WebCore::RenderLayer::updateLayerPositions):
            * rendering/RenderLayer.h:
            * rendering/RenderObject.h:
            (WebCore::RenderObject::outlineBoundsForRepaint):
            * rendering/RenderSVGModelObject.cpp:
            (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
            * rendering/RenderSVGModelObject.h:
    2010-04-01  James Robinson  <jamesr@chromium.org>
    
            Reviewed by Simon Fraser.
    
            Mapping from local to container coord space in updateLayerPositions is quadratic
            https://bugs.webkit.org/show_bug.cgi?id=33520
    
            These tests move layers around in various ways to test that the offset caching in
            updateLayerPositions() is correct.
    
            * fast/layers/nested-layers-1-expected.txt: Added.
            * fast/layers/nested-layers-1.html: Added.
            * fast/layers/nested-layers-2-expected.txt: Added.
            * fast/layers/nested-layers-2.html: Added.
            * fast/layers/nested-layers-3-expected.txt: Added.
            * fast/layers/nested-layers-3.html: Added.
            * fast/layers/nested-layers-4-expected.txt: Added.
            * fast/layers/nested-layers-4.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    2a4ad996