Repaint issues on changing 'viewBox' of inner SVG
authorossy@webkit.org <ossy@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Feb 2012 07:28:18 +0000 (07:28 +0000)
committerossy@webkit.org <ossy@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Feb 2012 07:28:18 +0000 (07:28 +0000)
commita21bbd6f17aa576ecd1a66c7faa07f44e01c90de
tree980bc467befc70fbc0f1e7a9a2c6e06115b93546
parent08bc11ee75927db8371a5e566ecbed282069bd55
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
LayoutTests/ChangeLog
Source/WebCore/ChangeLog