<?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>25248</bug_id>
          
          <creation_ts>2009-04-16 15:33:00 -0700</creation_ts>
          <short_desc>Painting images does unnecessary wxGraphicsBitmap conversions</short_desc>
          <delta_ts>2009-04-17 07:50:14 -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>WebKit wx</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kevin Watters">kevinwatters</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>117823</commentid>
    <comment_count>0</comment_count>
    <who name="Kevin Watters">kevinwatters</who>
    <bug_when>2009-04-16 15:33:00 -0700</bug_when>
    <thetext>wx has a newer wxGraphicsBitmap class that is closer to the format ultimately blitted to screen by wxGraphicsContext. ImageSourceWx.cpp should be returning wxGraphicsBitmap objects from frameAtIndex for better performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117824</commentid>
    <comment_count>1</comment_count>
      <attachid>29557</attachid>
    <who name="Kevin Watters">kevinwatters</who>
    <bug_when>2009-04-16 15:35:14 -0700</bug_when>
    <thetext>Created attachment 29557
return wxGraphicsBitmap instead of wxBitmap from frameAtIndex() for performance</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117910</commentid>
    <comment_count>2</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2009-04-17 07:50:14 -0700</bug_when>
    <thetext>Landed in r42601, thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29557</attachid>
            <date>2009-04-16 15:35:14 -0700</date>
            <delta_ts>2009-04-16 17:06:30 -0700</delta_ts>
            <desc>return wxGraphicsBitmap instead of wxBitmap from frameAtIndex() for performance</desc>
            <filename>wxgraphicsbitmap.patch</filename>
            <type>text/plain</type>
            <size>6632</size>
            <attacher name="Kevin Watters">kevinwatters</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjU4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMDQtMTYgIEtldmluIFdhdHRlcnMgIDxrZXZpbndhdHRlcnNA
Z21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFN3aXRjaCB0byB3eEdyYXBoaWNzQml0bWFwIHdoZW4gdXNpbmcgd3hHcmFwaGljc0NvbnRl
eHQgc28gdGhhdCB3ZSdyZSBub3QgZG9pbmcKKyAgICAgICAgdW5uZWNlc3NhcnkgY29udmVyc2lv
bnMgaW50ZXJuYWxseSB3aGVuIGRyYXdpbmcgYml0bWFwcy4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd3gv
SW1hZ2VTb3VyY2VXeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Y3JlYXRl
RnJhbWVBdEluZGV4KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93eC9JbWFnZVd4LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpkcmF3KToKKyAgICAgICAgKFdlYkNv
cmU6OkJpdG1hcEltYWdlOjpkcmF3UGF0dGVybik6CisKIDIwMDktMDQtMTYgIEdlb2ZmcmV5IEdh
cmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vpbmln
LgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAkocmV2aXNpb24g
NDI1ODgpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2lmIFBMQVRGT1JNKFdYKQogY2xhc3Mgd3hC
aXRtYXA7CitjbGFzcyB3eEdyYXBoaWNzQml0bWFwOwogI2VsaWYgUExBVEZPUk0oQ0cpCiB0eXBl
ZGVmIHN0cnVjdCBDR0ltYWdlU291cmNlKiBDR0ltYWdlU291cmNlUmVmOwogdHlwZWRlZiBzdHJ1
Y3QgQ0dJbWFnZSogQ0dJbWFnZVJlZjsKQEAgLTU3LDcgKzU4LDExIEBACiBjbGFzcyBJbWFnZURl
Y29kZXI7CiB0eXBlZGVmIEltYWdlRGVjb2RlciogTmF0aXZlSW1hZ2VTb3VyY2VQdHI7CiB0eXBl
ZGVmIGNvbnN0IFZlY3RvcjxjaGFyPiogTmF0aXZlQnl0ZVB0cjsKKyNpZiBVU0UoV1hHQykKK3R5
cGVkZWYgd3hHcmFwaGljc0JpdG1hcCogTmF0aXZlSW1hZ2VQdHI7CisjZWxzZQogdHlwZWRlZiB3
eEJpdG1hcCogTmF0aXZlSW1hZ2VQdHI7CisjZW5kaWYKICNlbGlmIFBMQVRGT1JNKENHKQogdHlw
ZWRlZiBDR0ltYWdlU291cmNlUmVmIE5hdGl2ZUltYWdlU291cmNlUHRyOwogdHlwZWRlZiBDR0lt
YWdlUmVmIE5hdGl2ZUltYWdlUHRyOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
eC9JbWFnZVd4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4
L0ltYWdlV3guY3BwCShyZXZpc2lvbiA0MjU4OCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd3gvSW1hZ2VXeC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDExICsyNiwxMiBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAKLSNpbmNsdWRlICJUcmFuc2Zv
cm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgIkJpdG1hcEltYWdlLmgiCisjaW5jbHVkZSAiRmxv
YXRDb252ZXJzaW9uLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJUcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oIgogCiAjaW5jbHVkZSA8bWF0aC5oPgogI2luY2x1ZGUgPHN0ZGlv
Lmg+CkBAIC05OCwxMyArOTksMTMgQEAKICNpZiBVU0UoV1hHQykKICAgICB3eEdDREMqIGNvbnRl
eHQgPSAod3hHQ0RDKiljdHh0LT5wbGF0Zm9ybUNvbnRleHQoKTsKICAgICB3eEdyYXBoaWNzQ29u
dGV4dCogZ2MgPSBjb250ZXh0LT5HZXRHcmFwaGljc0NvbnRleHQoKTsKKyAgICB3eEdyYXBoaWNz
Qml0bWFwKiBiaXRtYXAgPSBmcmFtZUF0SW5kZXgobV9jdXJyZW50RnJhbWUpOwogI2Vsc2UKICAg
ICB3eFdpbmRvd0RDKiBjb250ZXh0ID0gY3R4dC0+cGxhdGZvcm1Db250ZXh0KCk7CisgICAgd3hC
aXRtYXAqIGJpdG1hcCA9IGZyYW1lQXRJbmRleChtX2N1cnJlbnRGcmFtZSk7CiAjZW5kaWYKIAog
ICAgIHN0YXJ0QW5pbWF0aW9uKCk7Ci0KLSAgICB3eEJpdG1hcCogYml0bWFwID0gZnJhbWVBdElu
ZGV4KG1fY3VycmVudEZyYW1lKTsKICAgICBpZiAoIWJpdG1hcCkgLy8gSWYgaXQncyB0b28gZWFy
bHkgd2Ugd29uJ3QgaGF2ZSBhbiBpbWFnZSB5ZXQuCiAgICAgICAgIHJldHVybjsKICAgICAKQEAg
LTEyOSwxNyArMTMwLDE1IEBACiAgICAgICAgIGFkanVzdGVkRGVzdFJlY3Quc2V0TG9jYXRpb24o
RmxvYXRQb2ludChkc3QueCgpIC0gc3JjLngoKSAvIHNjYWxlWCwgZHN0LnkoKSAtIHNyYy55KCkg
LyBzY2FsZVkpKTsKICAgICAgICAgYWRqdXN0ZWREZXN0UmVjdC5zZXRTaXplKEZsb2F0U2l6ZShz
ZWxmU2l6ZS53aWR0aCgpIC8gc2NhbGVYLCBzZWxmU2l6ZS5oZWlnaHQoKSAvIHNjYWxlWSkpOwog
ICAgIH0KLSAgICAKLSAgICAvLyBJZiB0aGUgaW1hZ2UgaXMgb25seSBwYXJ0aWFsbHkgbG9hZGVk
LCB0aGVuIHNocmluayB0aGUgZGVzdGluYXRpb24gcmVjdCB0aGF0IHdlJ3JlIGRyYXdpbmcgaW50
byBhY2NvcmRpbmdseS4KLSAgICBpbnQgY3VyckhlaWdodCA9IGJpdG1hcC0+R2V0SGVpZ2h0KCk7
IAotICAgIGlmIChjdXJySGVpZ2h0IDwgc2VsZlNpemUuaGVpZ2h0KCkpCi0gICAgICAgIGFkanVz
dGVkRGVzdFJlY3Quc2V0SGVpZ2h0KGFkanVzdGVkRGVzdFJlY3QuaGVpZ2h0KCkgKiBjdXJySGVp
Z2h0IC8gc2VsZlNpemUuaGVpZ2h0KCkpOwogCi0gICAgZ2MtPlB1c2hTdGF0ZSgpOwogICAgIGdj
LT5DbGlwKGRzdC54KCksIGRzdC55KCksIGRzdC53aWR0aCgpLCBkc3QuaGVpZ2h0KCkpOwotICAg
IGdjLT5EcmF3Qml0bWFwKCpiaXRtYXAsIGFkanVzdGVkRGVzdFJlY3QueCgpLCBhZGp1c3RlZERl
c3RSZWN0LnkoKSwgYWRqdXN0ZWREZXN0UmVjdC53aWR0aCgpLCBhZGp1c3RlZERlc3RSZWN0Lmhl
aWdodCgpKTsKLSAgICBnYy0+UG9wU3RhdGUoKTsKKyNpZiB3eENIRUNLX1ZFUlNJT04oMiw5LDAp
CisgICAgZ2MtPkRyYXdHcmFwaGljc0JpdG1hcCgqYml0bWFwLCBhZGp1c3RlZERlc3RSZWN0Lngo
KSwgYWRqdXN0ZWREZXN0UmVjdC55KCksIGFkanVzdGVkRGVzdFJlY3Qud2lkdGgoKSwgYWRqdXN0
ZWREZXN0UmVjdC5oZWlnaHQoKSk7CiAjZWxzZQorICAgIGdjLT5EcmF3R3JhcGhpY3NCaXRtYXAo
KmJpdG1hcCwgYWRqdXN0ZWREZXN0UmVjdC54KCksIGFkanVzdGVkRGVzdFJlY3QueSgpLCBhZGp1
c3RlZERlc3RSZWN0LndpZHRoKCksIGFkanVzdGVkRGVzdFJlY3QuaGVpZ2h0KCkpOworI2VuZGlm
CisKKyNlbHNlIC8vIFVTRShXWEdDKQogICAgIEludFJlY3Qgc3JjSW50UmVjdChzcmMpOwogICAg
IEludFJlY3QgZHN0SW50UmVjdChkc3QpOwogICAgIGJvb2wgcmVzY2FsaW5nID0gZmFsc2U7CkBA
IC0xODEsMjEgKzE4MCwyOSBAQAogCiAjaWYgVVNFKFdYR0MpCiAgICAgd3hHQ0RDKiBjb250ZXh0
ID0gKHd4R0NEQyopY3R4dC0+cGxhdGZvcm1Db250ZXh0KCk7CisgICAgd3hHcmFwaGljc0JpdG1h
cCogYml0bWFwID0gZnJhbWVBdEluZGV4KG1fY3VycmVudEZyYW1lKTsKICNlbHNlCiAgICAgd3hX
aW5kb3dEQyogY29udGV4dCA9IGN0eHQtPnBsYXRmb3JtQ29udGV4dCgpOworICAgIHd4Qml0bWFw
KiBiaXRtYXAgPSBmcmFtZUF0SW5kZXgobV9jdXJyZW50RnJhbWUpOwogI2VuZGlmCiAKKyAgICBp
ZiAoIWJpdG1hcCkgLy8gSWYgaXQncyB0b28gZWFybHkgd2Ugd29uJ3QgaGF2ZSBhbiBpbWFnZSB5
ZXQuCisgICAgICAgIHJldHVybjsKKwogICAgIGN0eHQtPnNhdmUoKTsKICAgICBjdHh0LT5jbGlw
KEludFJlY3QoZHN0UmVjdC54KCksIGRzdFJlY3QueSgpLCBkc3RSZWN0LndpZHRoKCksIGRzdFJl
Y3QuaGVpZ2h0KCkpKTsKLSAgICB3eEJpdG1hcCogYml0bWFwID0gZnJhbWVBdEluZGV4KG1fY3Vy
cmVudEZyYW1lKTsKLSAgICBpZiAoIWJpdG1hcCkgLy8gSWYgaXQncyB0b28gZWFybHkgd2Ugd29u
J3QgaGF2ZSBhbiBpbWFnZSB5ZXQuCi0gICAgICAgIHJldHVybjsKICAgICAKICAgICBmbG9hdCBj
dXJyZW50VyA9IDA7CiAgICAgZmxvYXQgY3VycmVudEggPSAwOwogICAgIAogI2lmIFVTRShXWEdD
KQogICAgIHd4R3JhcGhpY3NDb250ZXh0KiBnYyA9IGNvbnRleHQtPkdldEdyYXBoaWNzQ29udGV4
dCgpOworCisgICAgZmxvYXQgYWRqdXN0ZWRYID0gcGhhc2UueCgpICsgc3JjUmVjdC54KCkgKgor
ICAgICAgICAgICAgICAgICAgICAgIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQocGF0dGVyblRyYW5z
Zm9ybS5hKCkpOworICAgIGZsb2F0IGFkanVzdGVkWSA9IHBoYXNlLnkoKSArIHNyY1JlY3QueSgp
ICoKKyAgICAgICAgICAgICAgICAgICAgICBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHBhdHRlcm5U
cmFuc2Zvcm0uZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAKICAgICBnYy0+Q29uY2F0VHJh
bnNmb3JtKHBhdHRlcm5UcmFuc2Zvcm0pOwogI2Vsc2UKICAgICB3eE1lbW9yeURDIG15ZGM7CkBA
IC0yMDgsOCArMjE1LDEyIEBACiAgICAgd2hpbGUgKCBjdXJyZW50VyA8IGRzdFJlY3Qud2lkdGgo
KSAgJiYgY3VycmVudFcgPCBjbGllbnRTaXplLnggLSBvcmlnaW4ueCApIHsKICAgICAgICAgd2hp
bGUgKCBjdXJyZW50SCA8IGRzdFJlY3QuaGVpZ2h0KCkgJiYgY3VycmVudEggPCBjbGllbnRTaXpl
LnkgLSBvcmlnaW4ueSkgewogI2lmIFVTRShXWEdDKQotICAgICAgICAgICAgZ2MtPkRyYXdCaXRt
YXAoKmJpdG1hcCwgKHd4RG91YmxlKWRzdFJlY3QueCgpICsgY3VycmVudFcsICh3eERvdWJsZSlk
c3RSZWN0LnkoKSArIGN1cnJlbnRILCAod3hEb3VibGUpc3JjUmVjdC53aWR0aCgpLCAod3hEb3Vi
bGUpc3JjUmVjdC5oZWlnaHQoKSk7CisjaWYgd3hDSEVDS19WRVJTSU9OKDIsOSwwKQorICAgICAg
ICAgICAgZ2MtPkRyYXdCaXRtYXAoKmJpdG1hcCwgYWRqdXN0ZWRYICsgY3VycmVudFcsIGFkanVz
dGVkWSArIGN1cnJlbnRILCAod3hEb3VibGUpc3JjUmVjdC53aWR0aCgpLCAod3hEb3VibGUpc3Jj
UmVjdC5oZWlnaHQoKSk7CiAjZWxzZQorICAgICAgICAgICAgZ2MtPkRyYXdHcmFwaGljc0JpdG1h
cCgqYml0bWFwLCBhZGp1c3RlZFggKyBjdXJyZW50VywgYWRqdXN0ZWRZICsgY3VycmVudEgsICh3
eERvdWJsZSlzcmNSZWN0LndpZHRoKCksICh3eERvdWJsZSlzcmNSZWN0LmhlaWdodCgpKTsKKyNl
bmRpZgorI2Vsc2UKICAgICAgICAgICAgIGNvbnRleHQtPkJsaXQoKHd4Q29vcmQpZHN0UmVjdC54
KCkgKyBjdXJyZW50VywgKHd4Q29vcmQpZHN0UmVjdC55KCkgKyBjdXJyZW50SCwgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICh3eENvb3JkKXNyY1JlY3Qud2lkdGgoKSwgKHd4Q29vcmQp
c3JjUmVjdC5oZWlnaHQoKSwgJm15ZGMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3
eENvb3JkKXNyY1JlY3QueCgpLCAod3hDb29yZClzcmNSZWN0LnkoKSwgd3hDT1BZLCB0cnVlKTsg
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ltYWdlU291cmNlV3guY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvSW1hZ2VTb3VyY2VXeC5j
cHAJKHJldmlzaW9uIDQyNTg4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9JbWFn
ZVNvdXJjZVd4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsOSBAQAogCiAjaW5jbHVk
ZSA8d3gvZGVmcy5oPgogI2luY2x1ZGUgPHd4L2JpdG1hcC5oPgorI2lmIFVTRShXWEdDKQorI2lu
Y2x1ZGUgPHd4L2dyYXBoaWNzLmg+CisjZW5kaWYKICNpbmNsdWRlIDx3eC9pbWFnZS5oPgogI2lu
Y2x1ZGUgPHd4L3Jhd2JtcC5oPgogCkBAIC0yMjQsNyArMjI3LDE0IEBACiAgICAgYm1wLT5Vc2VB
bHBoYSgpOwogI2VuZGlmCiAgICAgQVNTRVJUKGJtcC0+SXNPaygpKTsKKworI2lmIFVTRShXWEdD
KQorICAgIHd4R3JhcGhpY3NCaXRtYXAqIGJpdG1hcCA9ICBuZXcgd3hHcmFwaGljc0JpdG1hcCh3
eEdyYXBoaWNzUmVuZGVyZXI6OkdldERlZmF1bHRSZW5kZXJlcigpLT5DcmVhdGVCaXRtYXAoKmJt
cCkpOworICAgIGRlbGV0ZSBibXA7CisgICAgcmV0dXJuIGJpdG1hcDsKKyNlbHNlCiAgICAgcmV0
dXJuIGJtcDsKKyNlbmRpZgogfQogCiBmbG9hdCBJbWFnZVNvdXJjZTo6ZnJhbWVEdXJhdGlvbkF0
SW5kZXgoc2l6ZV90IGluZGV4KQo=
</data>
<flag name="review"
          id="14747"
          type_id="1"
          status="+"
          setter="kevino"
    />
          </attachment>
      

    </bug>

</bugzilla>