Bug 76482

Summary: [CG] Rasterized scaling of transformed SVG shapes with gradient fill and -webkit-svg-shadow applied
Product: WebKit Reporter: Tim Horton <thorton>
Component: SVGAssignee: Tim Horton <thorton>
Status: RESOLVED FIXED    
Severity: Normal CC: adele, dglazkov, simon.fraser, webkit.review.bot, zimmermann
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
repro
none
patch
none
patch v.2 simon.fraser: review+, simon.fraser: commit-queue-

Tim Horton
Reported 2012-01-17 15:04:19 PST
The attached repro case demonstrates that applying a scale() transform to an SVG shape that has both gradient fill and the CSS -webkit-svg-shadow property applied will result in rasterized scaling of the shape. <rdar://problem/10415483> I have a patch.
Attachments
repro (940 bytes, image/svg+xml)
2012-01-17 15:04 PST, Tim Horton
no flags
patch (111.07 KB, patch)
2012-01-17 15:38 PST, Tim Horton
no flags
patch v.2 (110.43 KB, patch)
2012-01-17 16:41 PST, Tim Horton
simon.fraser: review+
simon.fraser: commit-queue-
Tim Horton
Comment 1 2012-01-17 15:04:48 PST
Tim Horton
Comment 2 2012-01-17 15:38:05 PST
Tim Horton
Comment 3 2012-01-17 16:12:53 PST
I just found an issue with zooming and ::strokeRect, so clearing review for now.
Tim Horton
Comment 4 2012-01-17 16:41:59 PST
Created attachment 122838 [details] patch v.2
Simon Fraser (smfr)
Comment 5 2012-01-17 19:28:08 PST
Comment on attachment 122838 [details] patch v.2 View in context: https://bugs.webkit.org/attachment.cgi?id=122838&action=review > Source/WebCore/platform/graphics/transforms/AffineTransform.cpp:257 > + double width2, height2; > + width2 = size.width() * xScale(); > + height2 = size.height() * yScale(); Just do: double width2 = double height2 = Why the '2'? > Source/WebCore/platform/graphics/transforms/AffineTransform.cpp:266 > + double width2, height2; > + width2 = size.width() * xScale(); > + height2 = size.height() * yScale(); Ditto.
WebKit Review Bot
Comment 6 2012-01-17 19:28:25 PST
Comment on attachment 122838 [details] patch v.2 Attachment 122838 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/11283028 New failing tests: svg/custom/transform-with-shadow-and-gradient.svg
Tim Horton
Comment 7 2012-01-18 10:50:44 PST
Landed as http://trac.webkit.org/changeset/105296 with half of Simon's changes (I used the "2" suffix to fit in with that function's siblings).
Note You need to log in before you can comment on or make changes to this bug.