<?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>32405</bug_id>
          
          <creation_ts>2009-12-10 20:11:02 -0800</creation_ts>
          <short_desc>[Qt] canvas clipping is buggy</short_desc>
          <delta_ts>2010-02-16 01:18:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ariya.hidayat</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>cshu</cc>
    
    <cc>hausmann</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>noam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>170626</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2009-12-10 20:11:02 -0800</bug_when>
    <thetext>test case: http://glimr.rubyforge.org/cake/canvas.html, choose ImageTest in the combo box

The image rotates and moves very slowly and with a lot of artifacts and flickers, compared to Safari/Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170713</commentid>
    <comment_count>1</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2009-12-11 05:21:49 -0800</bug_when>
    <thetext>Confirmed.

Here is the direct link to the test : http://glimr.rubyforge.org/cake/canvas.html#KeyboardTest

The image should not be clipped when transformed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190297</commentid>
    <comment_count>2</comment_count>
      <attachid>48713</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-02-13 19:11:12 -0800</bug_when>
    <thetext>Created attachment 48713
Fix GraphicsContext::roundToDevicePixels in Qt

I found the source of the problem - our GraphicsContext::roundToDevicePixels function is wrong, as it doesn&apos;t make the right calculation in the case of rotating images.
The attached fix makes that function completely equivalent to the CG implementation, and rotating canvas images now look fine!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190449</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-02-15 07:14:23 -0800</bug_when>
    <thetext>Nice! I&apos;ve seen this bug a few times in the past.

Any chance that this is also covered by an existing but currently skipped canvas layout test?

Adding Ariya to CC, he&apos;s more qualified than me to review this piece :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190619</commentid>
    <comment_count>4</comment_count>
      <attachid>48713</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2010-02-16 00:30:31 -0800</bug_when>
    <thetext>Comment on attachment 48713
Fix GraphicsContext::roundToDevicePixels in Qt

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190624</commentid>
    <comment_count>5</comment_count>
      <attachid>48713</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-16 01:17:50 -0800</bug_when>
    <thetext>Comment on attachment 48713
Fix GraphicsContext::roundToDevicePixels in Qt

Clearing flags on attachment: 48713

Committed r54811: &lt;http://trac.webkit.org/changeset/54811&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190625</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-16 01:18:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48713</attachid>
            <date>2010-02-13 19:11:12 -0800</date>
            <delta_ts>2010-02-16 01:17:49 -0800</delta_ts>
            <desc>Fix GraphicsContext::roundToDevicePixels in Qt</desc>
            <filename>patch-32405-1.diff</filename>
            <type>text/plain</type>
            <size>3234</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NDc1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTAtMDItMTMgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRo
YWxAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gY2FudmFzIGNsaXBwaW5nIGlzIGJ1Z2d5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjQwNQorCisgICAgICAgIEFwcGFyZW50bHkg
dGhlIGJ1ZyB3YXMgaW4gR3JhcGhpY3NDb250ZXh0Ojpyb3VuZFRvRGV2aWNlUGl4ZWxzLCB3ZQor
ICAgICAgICBkaWRuJ3QgdGFrZSB1bnRvIGFjY291bnRzIHJvdGF0aW9uLCBzbyB0aGUgZGV2aWNl
IHBpeGVscyB3ZXJlIHJvdW5kZWQKKyAgICAgICAgaW5jb3JyZWN0bHkuIFRoZSBuZXcgZm9ybXVs
YSBpcyBhIDE6MSBjb3B5IGZyb20gR3JhcGhpY3NDb250ZXh0Q0cgc28KKyAgICAgICAgaXQgc2hv
dWxkIGJlIHJhdGhlciBzYWZlCisKKyAgICAgICAgVGVzdDogaHR0cDovL2dsaW1yLnJ1Ynlmb3Jn
ZS5vcmcvY2FrZS9jYW52YXMuaHRtbCNQb2xhcm9pZHMgbm93IGxvb2tzIHJpZ2h0CisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnJvdW5kVG9EZXZpY2VQaXhlbHMpOiBDb3B5IHRo
ZSBmb3JtdWxhIGZyb20KKyAgICAgICAgR3JhcGhpY3NDb250ZXh0Q0cKKwogMjAxMC0wMi0xMyAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
Q29udGV4dFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0dyYXBoaWNzQ29udGV4dFF0LmNwcAkocmV2aXNpb24gNTQ3MjgpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzYwLDExICs3NjAsMzAgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yTWlzc3Bl
bAogCiBGbG9hdFJlY3QgR3JhcGhpY3NDb250ZXh0Ojpyb3VuZFRvRGV2aWNlUGl4ZWxzKGNvbnN0
IEZsb2F0UmVjdCYgZnJlY3QpCiB7Ci0gICAgUVJlY3RGIHJlY3QoZnJlY3QpOwotICAgIHJlY3Qg
PSBtX2RhdGEtPnAoKS0+ZGV2aWNlTWF0cml4KCkubWFwUmVjdChyZWN0KTsKLQotICAgIFFSZWN0
IHJlc3VsdCA9IHJlY3QudG9SZWN0KCk7IC8vcm91bmQgaXQKLSAgICByZXR1cm4gRmxvYXRSZWN0
KFFSZWN0RihyZXN1bHQpKTsKKyAgICAvLyBJdCBpcyBub3QgZW5vdWdoIGp1c3QgdG8gcm91bmQg
dG8gcGl4ZWxzIGluIGRldmljZSBzcGFjZS4gVGhlIHJvdGF0aW9uIHBhcnQgb2YgdGhlCisgICAg
Ly8gYWZmaW5lIHRyYW5zZm9ybSBtYXRyaXggdG8gZGV2aWNlIHNwYWNlIGNhbiBtZXNzIHdpdGgg
dGhpcyBjb252ZXJzaW9uIGlmIHdlIGhhdmUgYQorICAgIC8vIHJvdGF0aW5nIGltYWdlIGxpa2Ug
dGhlIGhhbmRzIG9mIHRoZSB3b3JsZCBjbG9jayB3aWRnZXQuIFdlIGp1c3QgbmVlZCB0aGUgc2Nh
bGUsIHNvCisgICAgLy8gd2UgZ2V0IHRoZSBhZmZpbmUgdHJhbnNmb3JtIG1hdHJpeCBhbmQgZXh0
cmFjdCB0aGUgc2NhbGUuCisgICAgUVBhaW50ZXIqIHBhaW50ZXIgPSBwbGF0Zm9ybUNvbnRleHQo
KTsKKyAgICBRVHJhbnNmb3JtIGRldmljZVRyYW5zZm9ybSA9IHBhaW50ZXItPmRldmljZVRyYW5z
Zm9ybSgpOworICAgIGlmIChkZXZpY2VUcmFuc2Zvcm0uaXNJZGVudGl0eSgpKQorICAgICAgICBy
ZXR1cm4gZnJlY3Q7CisKKyAgICBxcmVhbCBkZXZpY2VTY2FsZVggPSBzcXJ0ZihkZXZpY2VUcmFu
c2Zvcm0ubTExKCkgKiBkZXZpY2VUcmFuc2Zvcm0ubTExKCkgKyBkZXZpY2VUcmFuc2Zvcm0ubTEy
KCkgKiBkZXZpY2VUcmFuc2Zvcm0ubTEyKCkpOworICAgIHFyZWFsIGRldmljZVNjYWxlWSA9IHNx
cnRmKGRldmljZVRyYW5zZm9ybS5tMjEoKSAqIGRldmljZVRyYW5zZm9ybS5tMjEoKSArIGRldmlj
ZVRyYW5zZm9ybS5tMjIoKSAqIGRldmljZVRyYW5zZm9ybS5tMjIoKSk7CisKKyAgICBRUG9pbnQg
ZGV2aWNlT3JpZ2luKGZyZWN0LngoKSAqIGRldmljZVNjYWxlWCwgZnJlY3QueSgpICogZGV2aWNl
U2NhbGVZKTsKKyAgICBRUG9pbnQgZGV2aWNlTG93ZXJSaWdodChmcmVjdC5yaWdodCgpICogZGV2
aWNlU2NhbGVYLCBmcmVjdC5ib3R0b20oKSAqIGRldmljZVNjYWxlWSk7CisKKyAgICAvLyBEb24n
dCBsZXQgdGhlIGhlaWdodCBvciB3aWR0aCByb3VuZCB0byAwIHVubGVzcyBlaXRoZXIgd2FzIG9y
aWdpbmFsbHkgMAorICAgIGlmIChkZXZpY2VPcmlnaW4ueSgpID09IGRldmljZUxvd2VyUmlnaHQu
eSgpICYmIGZyZWN0LmhlaWdodCgpKQorICAgICAgICBkZXZpY2VMb3dlclJpZ2h0LnNldFkoZGV2
aWNlTG93ZXJSaWdodC55KCkgKyAxKTsKKyAgICBpZiAoZGV2aWNlT3JpZ2luLngoKSA9PSBkZXZp
Y2VMb3dlclJpZ2h0LngoKSAmJiBmcmVjdC53aWR0aCgpKQorICAgICAgICBkZXZpY2VMb3dlclJp
Z2h0LnNldFgoZGV2aWNlTG93ZXJSaWdodC54KCkgKyAxKTsKKworICAgIEZsb2F0UG9pbnQgcm91
bmRlZE9yaWdpbiA9IEZsb2F0UG9pbnQoZGV2aWNlT3JpZ2luLngoKSAvIGRldmljZVNjYWxlWCwg
ZGV2aWNlT3JpZ2luLnkoKSAvIGRldmljZVNjYWxlWSk7CisgICAgRmxvYXRQb2ludCByb3VuZGVk
TG93ZXJSaWdodCA9IEZsb2F0UG9pbnQoZGV2aWNlTG93ZXJSaWdodC54KCkgLyBkZXZpY2VTY2Fs
ZVgsIGRldmljZUxvd2VyUmlnaHQueSgpIC8gZGV2aWNlU2NhbGVZKTsKKyAgICByZXR1cm4gRmxv
YXRSZWN0KHJvdW5kZWRPcmlnaW4sIHJvdW5kZWRMb3dlclJpZ2h0IC0gcm91bmRlZE9yaWdpbik7
CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRQbGF0Zm9ybVNoYWRvdyhjb25zdCBJbnRT
aXplJiBzaXplLCBpbnQsIGNvbnN0IENvbG9yJiwgQ29sb3JTcGFjZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>