Repaint issues on changing 'viewBox' of inner SVG
https://bugs.webkit.org/show_bug.cgi?id=77903
Source/WebCore:
Patch by Bear Travis <betravis@adobe.com> on 2012-02-15
Reviewed by Nikolas Zimmermann.
Do not update the child viewbox/viewport transform to its parent
coordinate system until after layout has stored the old bounds for
repainting purposes.
Test: svg/repaint/inner-svg-change-viewBox-contract.svg
* rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
(WebCore::RenderSVGViewportContainer::calcViewport):
(WebCore):
(WebCore::RenderSVGViewportContainer::calculateLocalTransform):
(WebCore::RenderSVGViewportContainer::localToParentTransform):
* rendering/svg/RenderSVGViewportContainer.h:
(WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
(RenderSVGViewportContainer):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::svgAttributeChanged):
LayoutTests:
Adding test for 77903. When setting the viewbox on an inner svg
element causes the content to become smaller, make sure that the
area behind the content is redrawn.
Patch by Bear Travis <betravis@adobe.com> on 2012-02-15
Reviewed by Nikolas Zimmermann.
* platform/chromium/test_expectations.txt:
* svg/repaint/inner-svg-change-viewBox-contract-expected.png: Added.
* svg/repaint/inner-svg-change-viewBox-contract-expected.txt: Added.
* svg/repaint/inner-svg-change-viewBox-contract.svg: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107895
268f45cc-cd09-0410-ab3c-
d52691b4dbfc