<?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>63555</bug_id>
          
          <creation_ts>2011-06-28 13:10:43 -0700</creation_ts>
          <short_desc>[Qt] GraphicsContext::clipToImageBuffer does not support scale transformation</short_desc>
          <delta_ts>2011-06-29 08:57:09 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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, QtTriaged</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Igor Trindade Oliveira">igor.oliveira</reporter>
          <assigned_to name="Igor Trindade Oliveira">igor.oliveira</assigned_to>
          <cc>kling</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>429095</commentid>
    <comment_count>0</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-06-28 13:10:43 -0700</bug_when>
    <thetext>Qt implementation of GraphicsContext::clipToImageBuffer calls internally ImageBuffer::clip.
ImageBuffer::clip creates a alphaMask and push it in TransparencyLayer. However if GraphicsContext does a scale
transformation the alphaMask is not scaled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429101</commentid>
    <comment_count>1</comment_count>
      <attachid>98963</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-06-28 13:17:09 -0700</bug_when>
    <thetext>Created attachment 98963
Patch

Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429146</commentid>
    <comment_count>2</comment_count>
      <attachid>98963</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-06-28 14:32:38 -0700</bug_when>
    <thetext>Comment on attachment 98963
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=98963&amp;action=review

&gt; Source/WebCore/ChangeLog:10
&gt; +        No new tests. (OOPS!)

Oops indeed! The commit-queue will choke on this line, replace it with one of these three:
1) Tests: list of tests that exercise this change...
2) No new tests because...
3) Awkward silence.

&gt; Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp:167
&gt; +    QRectF deviceClip = context-&gt;platformContext()-&gt;transform().mapRect(floatRect);
&gt; +    if (alphaMask.width() != deviceClip.width() || alphaMask.height() != deviceClip.height())
&gt; +        alphaMask = alphaMask.scaled(deviceClip.width(), deviceClip.height());

We should do this in GraphicsContext::pushTransparencyLayerInternal() instead, then we avoid doing mapRect() twice, and ImageBuffer doesn&apos;t need to know about any painter transforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429570</commentid>
    <comment_count>3</comment_count>
      <attachid>99082</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-06-29 06:52:48 -0700</bug_when>
    <thetext>Created attachment 99082
Patch

Proposed patch. Update ChangeLog and move scale complexity to GraphicsContext::pushTransparencyLayerInternal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429638</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-29 08:55:38 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 99082:

http/tests/media/video-cancel-load.html bug 56797 (authors: annacc@chromium.org, eric.carlson@apple.com, jamesr@chromium.org, and vrk@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429641</commentid>
    <comment_count>5</comment_count>
      <attachid>99082</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-29 08:57:05 -0700</bug_when>
    <thetext>Comment on attachment 99082
Patch

Clearing flags on attachment: 99082

Committed r90020: &lt;http://trac.webkit.org/changeset/90020&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429642</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-29 08:57:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98963</attachid>
            <date>2011-06-28 13:17:09 -0700</date>
            <delta_ts>2011-06-29 06:52:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-GraphicsContext-clipToImageBuffer-does-not-suppor.patch</filename>
            <type>text/plain</type>
            <size>2103</size>
            <attacher name="Igor Trindade Oliveira">igor.oliveira</attacher>
            
              <data encoding="base64">RnJvbSBiNzM5MWIzOTViMzIwZTcxMWMwMWViNmZlMmVmOGI2ZTg1MWUzMzQxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBJZ29yIE9saXZlaXJhIDxpZ29yLm9saXZlaXJhQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFR1ZSwgMjggSnVuIDIwMTEgMTY6MTE6MjYgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBbUXRdIEdyYXBoaWNzQ29udGV4dDo6Y2xpcFRvSW1hZ2VCdWZmZXIgZG9lcyBub3Qgc3Vw
cG9ydCBzY2FsZSB0cmFuc2Zvcm1hdGlvbgoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysrKysrKysrKysrKysKIC4uLi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ltYWdlQnVmZmVyUXQuY3BwIHwgICAgNiArKysrLS0K
IDIgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZjNiMTMxNC4uNDQwZmMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDExLTA2LTI4ICBJZ29yIE9saXZlaXJhICA8aWdvci5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gR3Jh
cGhpY3NDb250ZXh0OjpjbGlwVG9JbWFnZUJ1ZmZlciBkb2VzIG5vdCBzdXBwb3J0IHNjYWxlIHRy
YW5zZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MzU1NQorCisgICAgICAgIFNjYWxlIGFscGhhTWFzayBpZiBHcmFwaGljc0NvbnRleHQg
aXMgc2NhbGVkCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9xdC9JbWFnZUJ1ZmZlclF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlQnVmZmVyOjpjbGlwKToKKwogMjAxMS0wNi0yOCAgQWJoaXNoZWsgQXJ5YSAgPGluZmVy
bm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ltYWdlQnVm
ZmVyUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VCdWZm
ZXJRdC5jcHAKaW5kZXggZDYwZGRhMy4uODAwNWZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VCdWZmZXJRdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VCdWZmZXJRdC5jcHAKQEAgLTE2MSw4ICsx
NjEsMTAgQEAgdm9pZCBJbWFnZUJ1ZmZlcjo6Y2xpcChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IEZsb2F0UmVjdCYgZmxvYXRSZWN0KSBjb24KIAogICAgIEludFJlY3QgcmVjdCA9IGVu
Y2xvc2luZ0ludFJlY3QoZmxvYXRSZWN0KTsKICAgICBRUGl4bWFwIGFscGhhTWFzayA9ICpuYXRp
dmVJbWFnZTsKLSAgICBpZiAoYWxwaGFNYXNrLndpZHRoKCkgIT0gcmVjdC53aWR0aCgpIHx8IGFs
cGhhTWFzay5oZWlnaHQoKSAhPSByZWN0LmhlaWdodCgpKQotICAgICAgICBhbHBoYU1hc2sgPSBh
bHBoYU1hc2suc2NhbGVkKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7CisKKyAgICBRUmVj
dEYgZGV2aWNlQ2xpcCA9IGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT50cmFuc2Zvcm0oKS5t
YXBSZWN0KGZsb2F0UmVjdCk7CisgICAgaWYgKGFscGhhTWFzay53aWR0aCgpICE9IGRldmljZUNs
aXAud2lkdGgoKSB8fCBhbHBoYU1hc2suaGVpZ2h0KCkgIT0gZGV2aWNlQ2xpcC5oZWlnaHQoKSkK
KyAgICAgICAgYWxwaGFNYXNrID0gYWxwaGFNYXNrLnNjYWxlZChkZXZpY2VDbGlwLndpZHRoKCks
IGRldmljZUNsaXAuaGVpZ2h0KCkpOwogCiAgICAgY29udGV4dC0+cHVzaFRyYW5zcGFyZW5jeUxh
eWVySW50ZXJuYWwocmVjdCwgMS4wLCBhbHBoYU1hc2spOwogfQotLSAKMS43LjQuMQoK
</data>
<flag name="review"
          id="93333"
          type_id="1"
          status="-"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99082</attachid>
            <date>2011-06-29 06:52:48 -0700</date>
            <delta_ts>2011-06-29 08:57:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-GraphicsContext-clipToImageBuffer-does-not-suppor.patch</filename>
            <type>text/plain</type>
            <size>2966</size>
            <attacher name="Igor Trindade Oliveira">igor.oliveira</attacher>
            
              <data encoding="base64">RnJvbSBiZDcwYTI3Zjg5NzA3ZTA2NjZlNDQzMGU0ODU5ZDI0YmZjZTAxYzRiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBJZ29yIE9saXZlaXJhIDxpZ29yLm9saXZlaXJhQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFR1ZSwgMjggSnVuIDIwMTEgMTY6MTE6MjYgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBbUXRdIEdyYXBoaWNzQ29udGV4dDo6Y2xpcFRvSW1hZ2VCdWZmZXIgZG9lcyBub3Qgc3Vw
cG9ydCBzY2FsZSB0cmFuc2Zvcm1hdGlvbgoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysrKysrKysrKysrKysKIC4uLi9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAgICAgIHwgICAgNyArKysrKyst
CiAuLi4vV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9JbWFnZUJ1ZmZlclF0LmNwcCB8ICAg
IDIgLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggZjNiMTMxNC4uOGE0MDI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDExLTA2LTI5ICBJZ29yIE9saXZlaXJhICA8aWdvci5vbGl2ZWlyYUBvcGVuYm9zc2Eu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtR
dF0gR3JhcGhpY3NDb250ZXh0OjpjbGlwVG9JbWFnZUJ1ZmZlciBkb2VzIG5vdCBzdXBwb3J0IHNj
YWxlIHRyYW5zZm9ybWF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MzU1NQorCisgICAgICAgIFNjYWxlIGFscGhhTWFzayBpZiBHcmFwaGljc0Nv
bnRleHQgaXMgc2NhbGVkCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGlj
c0NvbnRleHRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnB1c2hU
cmFuc3BhcmVuY3lMYXllckludGVybmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9x
dC9JbWFnZUJ1ZmZlclF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpjbGlw
KToKKwogMjAxMS0wNi0yOCAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcApp
bmRleCA3OTNjZGUwLi43ZjExMmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCkBAIC05NTAsNyArOTUw
LDEyIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpjbGVhclBsYXRmb3JtU2hhZG93KCkKIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpwdXNoVHJhbnNwYXJlbmN5TGF5ZXJJbnRlcm5hbChjb25zdCBRUmVj
dCAmcmVjdCwgcXJlYWwgb3BhY2l0eSwgUVBpeG1hcCYgYWxwaGFNYXNrKQogewogICAgIFFQYWlu
dGVyKiBwID0gbV9kYXRhLT5wKCk7Ci0gICAgbV9kYXRhLT5sYXllcnMucHVzaChuZXcgVHJhbnNw
YXJlbmN5TGF5ZXIocCwgcC0+dHJhbnNmb3JtKCkubWFwUmVjdChyZWN0KSwgMS4wLCBhbHBoYU1h
c2spKTsKKworICAgIFFSZWN0IGRldmljZUNsaXAgPSBwLT50cmFuc2Zvcm0oKS5tYXBSZWN0KHJl
Y3QpOworICAgIGlmIChhbHBoYU1hc2sud2lkdGgoKSAhPSBkZXZpY2VDbGlwLndpZHRoKCkgfHwg
YWxwaGFNYXNrLmhlaWdodCgpICE9IGRldmljZUNsaXAuaGVpZ2h0KCkpCisgICAgICAgIGFscGhh
TWFzayA9IGFscGhhTWFzay5zY2FsZWQoZGV2aWNlQ2xpcC53aWR0aCgpLCBkZXZpY2VDbGlwLmhl
aWdodCgpKTsKKworICAgIG1fZGF0YS0+bGF5ZXJzLnB1c2gobmV3IFRyYW5zcGFyZW5jeUxheWVy
KHAsIGRldmljZUNsaXAsIDEuMCwgYWxwaGFNYXNrKSk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpiZWdpblRyYW5zcGFyZW5jeUxheWVyKGZsb2F0IG9wYWNpdHkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9JbWFnZUJ1ZmZlclF0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ltYWdlQnVmZmVyUXQuY3BwCmluZGV4
IGQ2MGRkYTMuLjU4YzI4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3F0L0ltYWdlQnVmZmVyUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0ltYWdlQnVmZmVyUXQuY3BwCkBAIC0xNjEsOCArMTYxLDYgQEAgdm9pZCBJ
bWFnZUJ1ZmZlcjo6Y2xpcChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVj
dCYgZmxvYXRSZWN0KSBjb24KIAogICAgIEludFJlY3QgcmVjdCA9IGVuY2xvc2luZ0ludFJlY3Qo
ZmxvYXRSZWN0KTsKICAgICBRUGl4bWFwIGFscGhhTWFzayA9ICpuYXRpdmVJbWFnZTsKLSAgICBp
ZiAoYWxwaGFNYXNrLndpZHRoKCkgIT0gcmVjdC53aWR0aCgpIHx8IGFscGhhTWFzay5oZWlnaHQo
KSAhPSByZWN0LmhlaWdodCgpKQotICAgICAgICBhbHBoYU1hc2sgPSBhbHBoYU1hc2suc2NhbGVk
KHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7CiAKICAgICBjb250ZXh0LT5wdXNoVHJhbnNw
YXJlbmN5TGF5ZXJJbnRlcm5hbChyZWN0LCAxLjAsIGFscGhhTWFzayk7CiB9Ci0tIAoxLjcuNC4x
Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>