Bug 18618 - REGRESSION (r31823-r31847): Patterns are upside down
Summary: REGRESSION (r31823-r31847): Patterns are upside down
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac (Intel) OS X 10.5
: P1 Normal
Assignee: Nobody
URL:
Keywords: InRadar, Regression
Depends on:
Blocks:
 
Reported: 2008-04-19 01:34 PDT by Rémi Zara
Modified: 2008-04-30 10:58 PDT (History)
2 users (show)

See Also:


Attachments
fix (1.23 KB, patch)
2008-04-23 14:16 PDT, Rémi Zara
hyatt: review-
Details | Formatted Diff | Diff
patch the pattern callback (1.49 KB, patch)
2008-04-24 13:28 PDT, Rémi Zara
hyatt: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rémi Zara 2008-04-19 01:34:01 PDT
Tested with nightly builds, SVG patterns regressed and are displayed upside down. This can be observed on w3c SVG tests full-pservers-grad-06-b.html, full-pservers-grad-03-b.html, full-coords-units-01-b.html (at least)
Comment 1 Dave Hyatt 2008-04-19 01:44:06 PDT
Regression from changes to ImageBuffer no doubt.

Comment 2 mitz 2008-04-19 13:45:26 PDT
<rdar://problem/5876063>
Comment 3 Rémi Zara 2008-04-23 14:16:21 PDT
Created attachment 20776 [details]
fix

Not sure this is the right fix. I find the #if out of place.
another cleaner solution would be in SVGPaintServerPatternCg in patternCallback, but i'm not sure it would be advisable performance-wise.
Comment 4 Dave Hyatt 2008-04-23 20:41:54 PDT
Comment on attachment 20776 [details]
fix

Shouldn't have to put CG ifdefs into a cross-platform file.  We need to make sure the underlying graphics APIs used to render are ultimately doing the right thing now.
Comment 5 Dave Hyatt 2008-04-23 20:44:40 PDT
Hacking the pattern callback should work. Do that.  Alternatively you could probably add the transform in to the CGPatternCreate call.

Comment 6 Rémi Zara 2008-04-24 13:28:23 PDT
Created attachment 20797 [details]
patch the pattern callback

putting the transform on the context passed to cgpatterncreate does not work for text (nothing drawn), and applies to more than the tile (bad skew in full-pservers-grad-06-b.html for instance).

So I transform the context in the callback.
Comment 7 Dave Hyatt 2008-04-28 09:49:29 PDT
Comment on attachment 20797 [details]
patch the pattern callback

r=me
Comment 8 mitz 2008-04-30 10:58:44 PDT
Landed in <http://trac.webkit.org/changeset/32734>.