haikuwebkit/LayoutTests/svg/repaint/inner-svg-change-viewBox-co...

8 lines
464 B
Plaintext
Raw Permalink Normal View History

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. Canonical link: https://commits.webkit.org/95729@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@107893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-02-16 07:16:34 +00:00
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 300x300
RenderSVGRoot {svg} at (0,0) size 200x200
RenderSVGRect {rect} at (0,0) size 200x200 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=200.00] [height=200.00]
RenderSVGViewportContainer {svg} at (0,0) size 100x100
RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]