2008-11-12 Simon Fraser <simon.fraser@apple.com>
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Nov 2008 01:32:11 +0000 (01:32 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Nov 2008 01:32:11 +0000 (01:32 +0000)
commit08ab65e4844cc3c04fbd16ccd1a744263fd9992e
treeda4a98d590b69602a2277c8c6242eca8caa8e78e
parent8f3b6ea9845d99efddbaedaacda6c4090b026f59
2008-11-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=22212

        Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
        it may be the bounding outline box of a transformed element, and fix it
        to respect transforms by mapping the outline box to an absolute quad and
        taking the enclosing rect.

        RenderBox::localToAbsoluteQuad() can no longer assert that there is no
        LayoutState, but LayoutState cannot be used during quad mapping (it knows
        nothing about transforms).

        Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
        borderTopExtra() from the object, rather than its container (as localToAbsolute()
        does).

        Test: fast/repaint/transform-absolute-child.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
21 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/repaint/transform-absolute-child.html [new file with mode: 0644]
LayoutTests/platform/mac/fast/repaint/transform-absolute-child-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/fast/repaint/transform-absolute-child-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/fast/repaint/transform-absolute-child-expected.txt [new file with mode: 0644]
WebCore/ChangeLog
WebCore/rendering/RenderBlock.cpp
WebCore/rendering/RenderBox.cpp
WebCore/rendering/RenderFlexibleBox.cpp
WebCore/rendering/RenderForeignObject.cpp
WebCore/rendering/RenderLayer.cpp
WebCore/rendering/RenderObject.cpp
WebCore/rendering/RenderObject.h
WebCore/rendering/RenderPath.cpp
WebCore/rendering/RenderReplaced.cpp
WebCore/rendering/RenderSVGContainer.cpp
WebCore/rendering/RenderSVGImage.cpp
WebCore/rendering/RenderSVGRoot.cpp
WebCore/rendering/RenderSVGText.cpp
WebCore/rendering/RenderSVGViewportContainer.cpp
WebCore/rendering/RenderTable.cpp