Skip to content
  • bdash's avatar
    2007-05-19 Mitz Pettel <mitz@webkit.org> · 97b9586a
    bdash authored
            Reviewed by Dave Hyatt.
    
            - fix http://bugs.webkit.org/show_bug.cgi?id=12729
              box-shadow disappears when scrolling a div that it falls on/under
    
            Tests: fast/repaint/box-shadow-dynamic.html
                   fast/repaint/box-shadow-h.html
                   fast/repaint/box-shadow-v.html
    
            * rendering/InlineFlowBox.cpp:
            (WebCore::InlineFlowBox::placeBoxesHorizontally): Factor in box shadow.
            (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
            (WebCore::InlineFlowBox::paint): Account for box shadow when checking if
            the damage rect intersects.
            * rendering/RenderBlock.cpp:
            (WebCore::RenderBlock::overflowHeight): For overflow areas, when asked
            for the "exterior" overflow, add box shadow overflow.
            (WebCore::RenderBlock::overflowWidth): Ditto.
            (WebCore::RenderBlock::overflowLeft): Ditto.
            (WebCore::RenderBlock::overflowTop): Ditto.
            (WebCore::RenderBlock::overflowRect): Ditto.
            (WebCore::RenderBlock::layoutBlock): Factor box shadow into visual overflow.
            * rendering/RenderFlexibleBox.cpp:
            (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
            * rendering/RenderFlow.cpp:
            (WebCore::RenderFlow::lowestPosition): For overflow areas, when asked for
            the "exterior" extreme position, add box shadow.
            (WebCore::RenderFlow::rightmostPosition): Ditto.
            (WebCore::RenderFlow::leftmostPosition): Ditto.
            * rendering/RenderLayer.cpp:
            (WebCore::RenderLayer::calculateRects): Avoid clipping out box shadow.
            * rendering/RenderObject.cpp:
            (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Make sure to paint
            the box shadow when an edge with a shadow moves.
            (WebCore::RenderObject::adjustRectForOutlineAndShadow): Helper function
            that expands a given rectangle to encompass outline and box shadow.
            (WebCore::RenderObject::absoluteOutlineBox): Changed to include box shadow.
            * rendering/RenderObject.h:
    
    2007-05-19  Mitz Pettel  <mitz@webkit.org>
    
            Reviewed by Dave Hyatt.
    
            - repaint tests and updated results for http://bugs.webkit.org/show_bug.cgi?id=12729
              box-shadow disappears when scrolling a div that it falls on/under
    
            * fast/box-shadow/basic-shadows-expected.checksum:
            * fast/box-shadow/basic-shadows-expected.png:
            * fast/box-shadow/basic-shadows-expected.txt:
            * fast/repaint/box-shadow-dynamic-expected.checksum: Added.
            * fast/repaint/box-shadow-dynamic-expected.png: Added.
            * fast/repaint/box-shadow-dynamic-expected.txt: Added.
            * fast/repaint/box-shadow-dynamic.html: Added.
            * fast/repaint/box-shadow-h-expected.checksum: Added.
            * fast/repaint/box-shadow-h-expected.png: Added.
            * fast/repaint/box-shadow-h-expected.txt: Added.
            * fast/repaint/box-shadow-h.html: Added.
            * fast/repaint/box-shadow-v-expected.checksum: Added.
            * fast/repaint/box-shadow-v-expected.png: Added.
            * fast/repaint/box-shadow-v-expected.txt: Added.
            * fast/repaint/box-shadow-v.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    97b9586a