<?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>44190</bug_id>
          
          <creation_ts>2010-08-18 11:20:29 -0700</creation_ts>
          <short_desc>[Cairo] Eliminate full-surface copy from canvas.drawImage(...)</short_desc>
          <delta_ts>2010-08-20 09:02:22 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Cairo</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hyatt</cc>
    
    <cc>krit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>266265</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-08-18 11:20:29 -0700</bug_when>
    <thetext>This is the Cairo followup to Dave Hyatt&apos;s patch in r65449.           https://bugs.webkit.org/show_bug.cgi?id=44115</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266271</commentid>
    <comment_count>1</comment_count>
      <attachid>64742</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-08-18 11:23:46 -0700</bug_when>
    <thetext>Created attachment 64742
Patch for this issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267136</commentid>
    <comment_count>2</comment_count>
      <attachid>64742</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-08-19 22:43:35 -0700</bug_when>
    <thetext>Comment on attachment 64742
Patch for this issue

WebCore/platform/graphics/cairo/ImageBufferCairo.cpp:42
 +  #include &lt;cmath&gt;
Can you use &lt;wtf/MathExtras.h&gt; here? Think it&apos;s better to use the same math include all over WebKit (Also if you want to replace cmath with another math-lib for what ever reason).

WebCore/platform/graphics/cairo/ImageBufferCairo.cpp:111
 +  void ImageBuffer::clip(GraphicsContext* context, const FloatRect&amp; rect) const
Why did you add the variable names? As long as we don&apos;t implement clip, we should leave them out.

Patch looks great. Please change the snippets. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267263</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-08-20 09:02:22 -0700</bug_when>
    <thetext>Committed r65736: &lt;http://trac.webkit.org/changeset/65736&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64742</attachid>
            <date>2010-08-18 11:23:46 -0700</date>
            <delta_ts>2010-08-19 22:43:35 -0700</delta_ts>
            <desc>Patch for this issue</desc>
            <filename>bug-44190-20100818112335.patch</filename>
            <type>text/plain</type>
            <size>3446</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWQzZWE5MGZhOTdjNzA2ZWQ0Y2UwZWEzODVkMmM5Mzk5OGQ5MjVjYy4uMWVmNGU2YzU1YzY1NDBi
MGNiZDBkMThjYzk3Njg1M2I4NWFjZjBkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wOC0xOCAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0NhaXJvXSBFbGltaW5hdGUgZnVsbC1zdXJm
YWNlIGNvcHkgZnJvbSBjYW52YXMuZHJhd0ltYWdlKC4uLikKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MTkwCisKKyAgICAgICAgQ292ZXJlZCBieSBj
YW52YXMgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
SW1hZ2VCdWZmZXJDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6ZHJh
d3NVc2luZ0NvcHkpOiBSZXR1cm4gZmFsc2Ugbm93LgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VC
dWZmZXI6OmNsaXApOiBBZGQgYSBsaW5rIHRvIHRoZSBidWcgd2hpY2ggdHJhY2tzIHRoaXMgZmVh
dHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpkcmF3KTogQ29uc3RydWN0IHRo
ZSBiaXRtYXAgaW1hZ2Ugd2l0aG91dCB0aGUgZnVsbC1zdXJmYWNlIGNvcHkuCisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6ZHJhd1BhdHRlcm4pOiBEaXR0by4KKwogMjAxMC0wOC0xNyAg
RGFyaW4gRmlzaGVyICA8ZGFyaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9JbWFnZUJ1ZmZlckNhaXJvLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
SW1hZ2VCdWZmZXJDYWlyby5jcHAKaW5kZXggZGI2NjI3NjgwMjZlNTEzYTUwYjkzOGE2ODVkOTEz
MjhiYWZkMjI0MS4uMjVmMTQxNmQ3NDkwODM0NjJlMmZmNjIwMzMwYzVmYTE2M2ZjZjM3MyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJv
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fp
cm8uY3BwCkBAIC0zOCwxMCArMzgsOSBAQAogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAj
aW5jbHVkZSAiUGF0dGVybi5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0KICNpbmNs
dWRlIDxjYWlyby5oPgorI2luY2x1ZGUgPGNtYXRoPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
LSNpbmNsdWRlIDxtYXRoLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKQEAgLTEwMCw3ICs5
OSw3IEBAIEdyYXBoaWNzQ29udGV4dCogSW1hZ2VCdWZmZXI6OmNvbnRleHQoKSBjb25zdAogCiBi
b29sIEltYWdlQnVmZmVyOjpkcmF3c1VzaW5nQ29weSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHRy
dWU7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiBQYXNzUmVmUHRyPEltYWdlPiBJbWFnZUJ1ZmZl
cjo6Y29weUltYWdlKCkgY29uc3QKQEAgLTEwOSwyMyArMTA4LDI2IEBAIFBhc3NSZWZQdHI8SW1h
Z2U+IEltYWdlQnVmZmVyOjpjb3B5SW1hZ2UoKSBjb25zdAogICAgIHJldHVybiBCaXRtYXBJbWFn
ZTo6Y3JlYXRlKGNvcHlTdXJmYWNlKG1fZGF0YS5tX3N1cmZhY2UpKTsKIH0KIAotdm9pZCBJbWFn
ZUJ1ZmZlcjo6Y2xpcChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSBjb25zdAor
dm9pZCBJbWFnZUJ1ZmZlcjo6Y2xpcChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkgY29uc3QKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIC8vIFNl
ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MjYgZm9yIHdoeSB0
aGlzIGlzIHVuaW1wbGVtZW50ZWQuCiB9CiAKIHZvaWQgSW1hZ2VCdWZmZXI6OmRyYXcoR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0LCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgY29uc3QgRmxv
YXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LAogICAgICAgICAgICAg
ICAgICAgICAgICBDb21wb3NpdGVPcGVyYXRvciBvcCAsIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxl
KQogewotICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2VDb3B5ID0gY29weUltYWdlKCk7Ci0gICAgY29u
dGV4dC0+ZHJhd0ltYWdlKGltYWdlQ29weS5nZXQoKSwgc3R5bGVDb2xvclNwYWNlLCBkZXN0UmVj
dCwgc3JjUmVjdCwgb3AsIHVzZUxvd1F1YWxpdHlTY2FsZSk7CisgICAgLy8gQml0bWFwSW1hZ2Ug
d2lsbCByZWxlYXNlIHRoZSBwYXNzZWQgaW4gc3VyZmFjZSBvbiBkZXN0cnVjdGlvbgorICAgIFJl
ZlB0cjxJbWFnZT4gaW1hZ2UgPSBCaXRtYXBJbWFnZTo6Y3JlYXRlKGNhaXJvX3N1cmZhY2VfcmVm
ZXJlbmNlKG1fZGF0YS5tX3N1cmZhY2UpKTsKKyAgICBjb250ZXh0LT5kcmF3SW1hZ2UoaW1hZ2Uu
Z2V0KCksIHN0eWxlQ29sb3JTcGFjZSwgZGVzdFJlY3QsIHNyY1JlY3QsIG9wLCB1c2VMb3dRdWFs
aXR5U2NhbGUpOwogfQogCiB2b2lkIEltYWdlQnVmZmVyOjpkcmF3UGF0dGVybihHcmFwaGljc0Nv
bnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgQWZmaW5lVHJh
bnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21w
b3NpdGVPcGVyYXRvciBvcCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKIHsKLSAgICBSZWZQ
dHI8SW1hZ2U+IGltYWdlQ29weSA9IGNvcHlJbWFnZSgpOwotICAgIGltYWdlQ29weS0+ZHJhd1Bh
dHRlcm4oY29udGV4dCwgc3JjUmVjdCwgcGF0dGVyblRyYW5zZm9ybSwgcGhhc2UsIHN0eWxlQ29s
b3JTcGFjZSwgb3AsIGRlc3RSZWN0KTsKKyAgICAvLyBCaXRtYXBJbWFnZSB3aWxsIHJlbGVhc2Ug
dGhlIHBhc3NlZCBpbiBzdXJmYWNlIG9uIGRlc3RydWN0aW9uCisgICAgUmVmUHRyPEltYWdlPiBp
bWFnZSA9IEJpdG1hcEltYWdlOjpjcmVhdGUoY2Fpcm9fc3VyZmFjZV9yZWZlcmVuY2UobV9kYXRh
Lm1fc3VyZmFjZSkpOworICAgIGltYWdlLT5kcmF3UGF0dGVybihjb250ZXh0LCBzcmNSZWN0LCBw
YXR0ZXJuVHJhbnNmb3JtLCBwaGFzZSwgc3R5bGVDb2xvclNwYWNlLCBvcCwgZGVzdFJlY3QpOwog
fQogCiB2b2lkIEltYWdlQnVmZmVyOjpwbGF0Zm9ybVRyYW5zZm9ybUNvbG9yU3BhY2UoY29uc3Qg
VmVjdG9yPGludD4mIGxvb2tVcFRhYmxlKQo=
</data>
<flag name="review"
          id="53367"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>