Prevent skipped repaints for children of inner SVG elements
https://bugs.webkit.org/show_bug.cgi?id=108429
Reviewed by Eric Seidel.
Source/WebCore:
This patch fixes a bug caused by r108699 and r133786 where we would not repaint children
of inner SVG elements because "m_didTransformToRootUpdate" was never reset on viewport
containers. The stale m_didTransformToRootUpdate variable caused us to skip child repaints.
I verified that the Robohornet SVG benchmark performance gains in r133786 are not regressed
with this patch.
Test: svg/repaint/svgsvgelement-repaint-children.html
* rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::calcViewport):
This can be removed because setNeedsTransformUpdate() will set m_needsTransformUpdate.
(WebCore::RenderSVGViewportContainer::calculateLocalTransform):
This change is straightforward and is similar to the equivalent assignment in
RenderSVGTransformableContainer::calculateLocalTransform().
LayoutTests:
Need to update expectations for a single file (just a 1px difference).
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* svg/repaint/svgsvgelement-repaint-children-expected.png: Added.
* svg/repaint/svgsvgelement-repaint-children-expected.txt: Added.
* svg/repaint/svgsvgelement-repaint-children.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141645
268f45cc-cd09-0410-ab3c-
d52691b4dbfc