Incorrect large-area clipping
authorfmalita@chromium.org <fmalita@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Aug 2012 12:24:49 +0000 (12:24 +0000)
committerfmalita@chromium.org <fmalita@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Aug 2012 12:24:49 +0000 (12:24 +0000)
commita17e55579fd12a9665cfe68a6a45970e3ba943f9
treef29ee5cb0a09878236c247d29e3074f08ed0dc8f
parent1672813e35c5ab1e4f38a95c377d612f36d8692d
Incorrect large-area clipping
https://bugs.webkit.org/show_bug.cgi?id=95197

Reviewed by Nikolas Zimmermann.

Source/WebCore:

ImageBuffers allocated for clipping and masking are clamped to kMaxImageBufferSize max
(4096x4096). In order to properly account for the scaling factor introduced by this
clamping, the repaintRect translation component needs to be pushed after the scaling
transform.

Tests: svg/custom/clamped-masking-clipping-expected.svg
       svg/custom/clamped-masking-clipping.svg

* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::createImageBuffer):

LayoutTests:

* svg/custom/clamped-masking-clipping-expected.svg: Added.
* svg/custom/clamped-masking-clipping.svg: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@126993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/svg/custom/clamped-masking-clipping-expected.svg [new file with mode: 0644]
LayoutTests/svg/custom/clamped-masking-clipping.svg [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/rendering/svg/SVGRenderingContext.cpp