Bug 88198 - Non-scaling strokes in patterns assert / render incorrectly
Summary: Non-scaling strokes in patterns assert / render incorrectly
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Philip Rogers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-03 14:08 PDT by Philip Rogers
Modified: 2012-06-04 10:55 PDT (History)
3 users (show)

See Also:


Attachments
Testcase (772 bytes, image/svg+xml)
2012-06-03 14:08 PDT, Philip Rogers
no flags Details
Expose SVGPatternElement's transform, fixing an assertion (7.01 KB, patch)
2012-06-03 15:04 PDT, Philip Rogers
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Philip Rogers 2012-06-03 14:08:31 PDT
Created attachment 145494 [details]
Testcase

See the attached testcase.

The assert is:
SHOULD NEVER BE REACHED
third_party/WebKit/Source/WebCore/svg/SVGStyledElement.cpp(454) : virtual WebCore::AffineTransform WebCore::SVGStyledElement::localCoordinateSpaceTransform(SVGLocatable::CTMScope) const

Patch forthcoming.
Comment 1 Philip Rogers 2012-06-03 15:04:41 PDT
Created attachment 145495 [details]
Expose SVGPatternElement's transform, fixing an assertion
Comment 2 Dirk Schulze 2012-06-04 06:09:56 PDT
Comment on attachment 145495 [details]
Expose SVGPatternElement's transform, fixing an assertion

According to your description, the same assertion should happen on Mask and ClipPath(maybe not ClipPath), no? r=me for this one. If clipPath and Mask are affected as well, we might refactor the code again.
Comment 3 WebKit Review Bot 2012-06-04 06:23:34 PDT
Comment on attachment 145495 [details]
Expose SVGPatternElement's transform, fixing an assertion

Clearing flags on attachment: 145495

Committed r119391: <http://trac.webkit.org/changeset/119391>
Comment 4 WebKit Review Bot 2012-06-04 06:23:39 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 János Badics 2012-06-04 07:26:00 PDT
Unfortunately this new test:
svg/stroke/non-scaling-stroke-pattern.svg
fails on Qt, GTK and EFL ports. A new bug has been created for the issue:
https://bugs.webkit.org/show_bug.cgi?id=88230
Comment 6 Philip Rogers 2012-06-04 10:55:45 PDT
Fix for broken Qt/Efl/Gtk failures landed: http://trac.webkit.org/changeset/119402


Dirk,
I looked into doing the same for SVGMaskElement and SVGClipPathElement and this turns out to not be required.
SVGClipPathElement is spec'ed to extend from SVGLocatable which handles the CTM call. SVGMaskElement is spec'ed to _not_ extend from SVGLocatable but in WebKit it actually does extend from SVGStyledLocatableElement so everything works as expected.