<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>18618</bug_id>
          
          <creation_ts>2008-04-19 01:34:01 -0700</creation_ts>
          <short_desc>REGRESSION (r31823-r31847): Patterns are upside down</short_desc>
          <delta_ts>2008-04-30 10:58:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rémi Zara">remi_zara</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hyatt</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>78241</commentid>
    <comment_count>0</comment_count>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2008-04-19 01:34:01 -0700</bug_when>
    <thetext>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)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78244</commentid>
    <comment_count>1</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-04-19 01:44:06 -0700</bug_when>
    <thetext>Regression from changes to ImageBuffer no doubt.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78262</commentid>
    <comment_count>2</comment_count>
    <who name="">mitz</who>
    <bug_when>2008-04-19 13:45:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/5876063&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78698</commentid>
    <comment_count>3</comment_count>
      <attachid>20776</attachid>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2008-04-23 14:16:21 -0700</bug_when>
    <thetext>Created attachment 20776
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&apos;m not sure it would be advisable performance-wise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78729</commentid>
    <comment_count>4</comment_count>
      <attachid>20776</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-04-23 20:41:54 -0700</bug_when>
    <thetext>Comment on attachment 20776
fix

Shouldn&apos;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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78730</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-04-23 20:44:40 -0700</bug_when>
    <thetext>Hacking the pattern callback should work. Do that.  Alternatively you could probably add the transform in to the CGPatternCreate call.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78801</commentid>
    <comment_count>6</comment_count>
      <attachid>20797</attachid>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2008-04-24 13:28:23 -0700</bug_when>
    <thetext>Created attachment 20797
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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79132</commentid>
    <comment_count>7</comment_count>
      <attachid>20797</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-04-28 09:49:29 -0700</bug_when>
    <thetext>Comment on attachment 20797
patch the pattern callback

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79288</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2008-04-30 10:58:44 -0700</bug_when>
    <thetext>Landed in &lt;http://trac.webkit.org/changeset/32734&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20776</attachid>
            <date>2008-04-23 14:16:21 -0700</date>
            <delta_ts>2008-04-24 13:28:23 -0700</delta_ts>
            <desc>fix</desc>
            <filename>patch18618.txt</filename>
            <type>text/plain</type>
            <size>1256</size>
            <attacher name="Rémi Zara">remi_zara</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMjQ0NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMDgtMDQtMjMgIFLDqW1pIFphcmEgIDxyZW1pX3phcmFAbWFjLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBmaXgg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjE4CisgICAgICAgIFJF
R1JFU1NJT04gKHIzMTgyMy1yMzE4NDcpOiBQYXR0ZXJucyBhcmUgdXBzaWRlIGRvd24KKworICAg
ICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
YXR0ZXJuRWxlbWVudDo6YnVpbGRQYXR0ZXJuKTogZmxpcCB0aGUgeSBheGlzIHdoZW4gQ0cKKwog
MjAwOC0wNC0yMyAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIG1hc2stYm94LWltYWdlIChzaW1pbGFyIHRvIGJvcmRlci1pbWFnZSkuICBU
aGlzIHByb3BlcnR5IGVuYWJsZXMgYSBzaW5nbGUgaW1hZ2UKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1BhdHRlcm5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJu
RWxlbWVudC5jcHAJKHJldmlzaW9uIDMyNDQ3KQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzEsNiArMjMxLDEyIEBAIHZvaWQgU1ZHUGF0
dGVybkVsZW1lbnQ6OmJ1aWxkUGF0dGVybihjb24KICAgICBBU1NFUlQoY29udGV4dCk7CiAKICAg
ICBjb250ZXh0LT5zYXZlKCk7CisgICAgCisjaWYgUExBVEZPUk0oQ0cpCisgICAgLy8gZmxpcCB5
IGF4aXMKKyAgICBjb250ZXh0LT50cmFuc2xhdGUoMCwgaW1hZ2VTaXplLmhlaWdodCgpKTsKKyAg
ICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUoMSwgLTEpKTsKKyNlbmRpZgogCiAgICAgLy8gTW92
ZSB0byBwYXR0ZXJuIHN0YXJ0IG9yaWdpbgogICAgIGlmIChwYXR0ZXJuQm91bmRhcmllc0luY2x1
ZGluZ092ZXJmbG93LmxvY2F0aW9uKCkgIT0gcGF0dGVybkJvdW5kYXJpZXMubG9jYXRpb24oKSkg
ewo=
</data>
<flag name="review"
          id="9086"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20797</attachid>
            <date>2008-04-24 13:28:23 -0700</date>
            <delta_ts>2008-04-28 09:49:29 -0700</delta_ts>
            <desc>patch the pattern callback</desc>
            <filename>patch18618.txt</filename>
            <type>text/plain</type>
            <size>1526</size>
            <attacher name="Rémi Zara">remi_zara</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMjUxNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMDgtMDQtMjQgIFLDqW1pIFphcmEgIDxyZW1pX3phcmFAbWFjLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBmaXgg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjE4CisgICAgICAgIFJF
R1JFU1NJT04gKHIzMTgyMy1yMzE4NDcpOiBQYXR0ZXJucyBhcmUgdXBzaWRlIGRvd24KKworICAg
ICAgICAqIHN2Zy9ncmFwaGljcy9jZy9TVkdQYWludFNlcnZlclBhdHRlcm5DZy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYXR0ZXJuQ2FsbGJhY2spOiBmbGlwIHRoZSB5IGF4aXMgd2hlbiBkcmF3
aW5nIHRoZSB0aWxlCisKIDIwMDgtMDQtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFw
cGxlLmNvbT4KIAogICAgICAgICBEb24ndCBjcmFzaCB3aGVuIHRoZSBzdHJpbmcgaXMgZW1wdHku
CkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9jZy9TVkdQYWludFNlcnZlclBhdHRlcm5DZy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvY2cvU1ZHUGFpbnRTZXJ2ZXJQ
YXR0ZXJuQ2cuY3BwCShyZXZpc2lvbiAzMjUxNikKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2Nn
L1NWR1BhaW50U2VydmVyUGF0dGVybkNnLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUs
MTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIHZvaWQgcGF0dGVybkNhbGxiYWNrKHZv
aWQqIGluZm8sIENHQ29udGV4dFJlZiBjb250ZXh0KQogewogICAgIEltYWdlQnVmZmVyKiBwYXR0
ZXJuSW1hZ2UgPSByZWludGVycHJldF9jYXN0PEltYWdlQnVmZmVyKj4oaW5mbyk7CisgICAgQ0dD
b250ZXh0U2F2ZUdTdGF0ZShjb250ZXh0KTsKKyAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0oY29u
dGV4dCwgMCwgcGF0dGVybkltYWdlLT5zaXplKCkuaGVpZ2h0KCkpOworICAgIENHQ29udGV4dFNj
YWxlQ1RNKGNvbnRleHQsIDEuMGYsIC0xLjBmKTsKICAgICBDR0NvbnRleHREcmF3SW1hZ2UoY29u
dGV4dCwgQ0dSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIHBhdHRlcm5JbWFnZS0+c2l6ZSgp
KSksIHBhdHRlcm5JbWFnZS0+Y2dJbWFnZSgpKTsKKyAgICBDR0NvbnRleHRSZXN0b3JlR1N0YXRl
KGNvbnRleHQpOwogfQogCiBib29sIFNWR1BhaW50U2VydmVyUGF0dGVybjo6c2V0dXAoR3JhcGhp
Y3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIFNWR1BhaW50
VGFyZ2V0VHlwZSB0eXBlLCBib29sIGlzUGFpbnRpbmdUZXh0KSBjb25zdAo=
</data>
<flag name="review"
          id="9092"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>