<?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>45706</bug_id>
          
          <creation_ts>2010-09-13 13:49:53 -0700</creation_ts>
          <short_desc>SharedGraphicsContext3D&apos;s texture cache holds on to images after free</short_desc>
          <delta_ts>2010-09-13 14:39:43 -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>Other</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>kbr</cc>
    
    <cc>scheib</cc>
    
    <cc>senorblanco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>278446</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-13 13:49:53 -0700</bug_when>
    <thetext>SharedGraphicsContext3D&apos;s texture cache holds on to images after free</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278458</commentid>
    <comment_count>1</comment_count>
      <attachid>67467</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-13 14:00:22 -0700</bug_when>
    <thetext>Created attachment 67467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278485</commentid>
    <comment_count>2</comment_count>
      <attachid>67467</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-09-13 14:29:07 -0700</bug_when>
    <thetext>Comment on attachment 67467
Patch

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

Looks fine overall. Couple of minor comments.

&gt; WebCore/ChangeLog:9
&gt; +        Whenever the backing native image is deleted it needs to let the SharedGraphicsContext3D knows
knows -&gt; know

&gt; WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp:196
&gt; +         it != allContexts()-&gt;end(); ++it) {
This loop iteration should not be split across lines. No braces surrounding it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278488</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-13 14:36:44 -0700</bug_when>
    <thetext>Thanks for the review!  I&apos;ll fix the nits and land by hand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278489</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-13 14:39:43 -0700</bug_when>
    <thetext>Committed r67412: &lt;http://trac.webkit.org/changeset/67412&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67467</attachid>
            <date>2010-09-13 14:00:22 -0700</date>
            <delta_ts>2010-09-13 14:29:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45706-20100913140021.patch</filename>
            <type>text/plain</type>
            <size>6229</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YmFmYzcyZTlhYjUzOGRiYTIzODZkZDQ5YTFjYTIyOTgwZWIwZGJhOS4uNjc0ODE2YWFiYWMyYWIz
ZDczYTIyMWI3NjMxODYyZmQ4NGExNTdmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wOS0xMyAgSmFt
ZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEJ3MgdGV4
dHVyZSBjYWNoZSBob2xkcyBvbiB0byBpbWFnZXMgYWZ0ZXIgZnJlZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU3MDYKKworICAgICAgICBFYWNoIFNo
YXJlZEdyYXBoaWNzQ29udGV4dDNEIGtlZXBzIGEgY2FjaGUgb2YgdXBsb2FkZWQgdGV4dHVyZXMg
a2V5ZWQgYnkgTmF0aXZlSW1hZ2VQdHJzLgorICAgICAgICBXaGVuZXZlciB0aGUgYmFja2luZyBu
YXRpdmUgaW1hZ2UgaXMgZGVsZXRlZCBpdCBuZWVkcyB0byBsZXQgdGhlIFNoYXJlZEdyYXBoaWNz
Q29udGV4dDNEIGtub3dzCisgICAgICAgIHNvIHRoYXQgdGhlIGNhY2hlIGVudHJ5IGFuZCBhc3Nv
Y2lhdGVkIHRleHR1cmUgY2FuIGFsc28gYmUgcmVtb3ZlZC4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9TaGFyZWRHcmFwaGljc0NvbnRleHQzRC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTaGFyZWRHcmFwaGljc0NvbnRleHQzRDo6U2hhcmVkR3JhcGhpY3NDb250ZXh0M0QpOgor
ICAgICAgICAoV2ViQ29yZTo6U2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q6On5TaGFyZWRHcmFwaGlj
c0NvbnRleHQzRCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRHcmFwaGljc0NvbnRleHQzRDo6
cmVtb3ZlVGV4dHVyZUZvcik6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRHcmFwaGljc0NvbnRl
eHQzRDo6cmVtb3ZlVGV4dHVyZXNGb3IpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkR3JhcGhp
Y3NDb250ZXh0M0Q6OmFsbENvbnRleHRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL05hdGl2ZUltYWdlU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXRpdmVJbWFn
ZVNraWE6On5OYXRpdmVJbWFnZVNraWEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvTmF0aXZlSW1hZ2VTa2lhLmg6CisKIDIwMTAtMDktMTIgIE9zd2FsZCBCdWRkZW5oYWdlbiAg
PG9zd2FsZC5idWRkZW5oYWdlbkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9T
aGFyZWRHcmFwaGljc0NvbnRleHQzRC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9TaGFyZWRHcmFwaGljc0NvbnRleHQzRC5jcHAKaW5kZXggNjQyNDI5MzVlMTNlN2RjNzYwMTZl
MzQ4ODJhNDkwZmE3NTIwZTMzMi4uOGNjZTg0ZjBhYjZhZWY4YWQ3ZjVmNjUyYzJkYjU0NjUyZmY5
ZGNhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhcmVkR3Jh
cGhpY3NDb250ZXh0M0QuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1No
YXJlZEdyYXBoaWNzQ29udGV4dDNELmNwcApAQCAtNTgsMTEgKzU4LDEzIEBAIFNoYXJlZEdyYXBo
aWNzQ29udGV4dDNEOjpTaGFyZWRHcmFwaGljc0NvbnRleHQzRChQYXNzT3duUHRyPEdyYXBoaWNz
Q29udGV4dDNEPiBjCiAgICAgLCBtX3NvbGlkRmlsbFNoYWRlcihTb2xpZEZpbGxTaGFkZXI6OmNy
ZWF0ZShtX2NvbnRleHQuZ2V0KCkpKQogICAgICwgbV90ZXhTaGFkZXIoVGV4U2hhZGVyOjpjcmVh
dGUobV9jb250ZXh0LmdldCgpKSkKIHsKKyAgICBhbGxDb250ZXh0cygpLT5hZGQodGhpcyk7CiB9
CiAKIFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOjp+U2hhcmVkR3JhcGhpY3NDb250ZXh0M0QoKQog
ewogICAgIG1fY29udGV4dC0+ZGVsZXRlQnVmZmVyKG1fcXVhZFZlcnRpY2VzKTsKKyAgICBhbGxD
b250ZXh0cygpLT5yZW1vdmUodGhpcyk7CiB9CiAKIHZvaWQgU2hhcmVkR3JhcGhpY3NDb250ZXh0
M0Q6Om1ha2VDb250ZXh0Q3VycmVudCgpCkBAIC0xODAsNiArMTgyLDMwIEBAIFRleHR1cmUqIFNo
YXJlZEdyYXBoaWNzQ29udGV4dDNEOjpnZXRUZXh0dXJlKE5hdGl2ZUltYWdlUHRyIHB0cikKICAg
ICByZXR1cm4gdGV4dHVyZSA/IHRleHR1cmUuZ2V0KCkgOiAwOwogfQogCit2b2lkIFNoYXJlZEdy
YXBoaWNzQ29udGV4dDNEOjpyZW1vdmVUZXh0dXJlRm9yKE5hdGl2ZUltYWdlUHRyIHB0cikKK3sK
KyAgICBUZXh0dXJlSGFzaE1hcDo6aXRlcmF0b3IgaXQgPSBtX3RleHR1cmVzLmZpbmQocHRyKTsK
KyAgICBpZiAoaXQgIT0gbV90ZXh0dXJlcy5lbmQoKSkKKyAgICAgICAgbV90ZXh0dXJlcy5yZW1v
dmUoaXQpOworfQorCisvLyBzdGF0aWMKK3ZvaWQgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q6OnJl
bW92ZVRleHR1cmVzRm9yKE5hdGl2ZUltYWdlUHRyIHB0cikKK3sKKyAgICBmb3IgKEhhc2hTZXQ8
U2hhcmVkR3JhcGhpY3NDb250ZXh0M0QqPjo6aXRlcmF0b3IgaXQgPSBhbGxDb250ZXh0cygpLT5i
ZWdpbigpOworICAgICAgICAgaXQgIT0gYWxsQ29udGV4dHMoKS0+ZW5kKCk7ICsraXQpIHsKKyAg
ICAgICAgKCppdCktPnJlbW92ZVRleHR1cmVGb3IocHRyKTsKKyAgICB9Cit9CisKKy8vIHN0YXRp
YworSGFzaFNldDxTaGFyZWRHcmFwaGljc0NvbnRleHQzRCo+KiBTaGFyZWRHcmFwaGljc0NvbnRl
eHQzRDo6YWxsQ29udGV4dHMoKQoreworICAgIHN0YXRpYyBPd25QdHI8SGFzaFNldDxTaGFyZWRH
cmFwaGljc0NvbnRleHQzRCo+ID4gc2V0KG5ldyBIYXNoU2V0PFNoYXJlZEdyYXBoaWNzQ29udGV4
dDNEKj4pOworICAgIHJldHVybiBzZXQuZ2V0KCk7Cit9CisKKwogUGFzc1JlZlB0cjxUZXh0dXJl
PiBTaGFyZWRHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlVGV4dHVyZShUZXh0dXJlOjpGb3JtYXQg
Zm9ybWF0LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7CiAgICAgcmV0dXJuIFRleHR1cmU6OmNy
ZWF0ZShtX2NvbnRleHQuZ2V0KCksIGZvcm1hdCwgd2lkdGgsIGhlaWdodCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFyZWRHcmFwaGljc0NvbnRleHQzRC5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Qu
aAppbmRleCAxYmFhMGY2ZjQ3ODA2MTlhNzI1MGVhNTY4MmUyNjFjNGY5MWJjYWEwLi5mY2FjYjll
YjdkM2I3ZDIxNGEwMmQ3NDI3ZTljMThhOWQ3NjlkOTYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFyZWRHcmFwaGljc0NvbnRleHQzRC5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYXJlZEdyYXBoaWNzQ29udGV4dDNELmgKQEAgLTM2
LDYgKzM2LDcgQEAKICNpbmNsdWRlICJUZXh0dXJlLmgiCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAt
MTAyLDEyICsxMDMsMjEgQEAgcHVibGljOgogICAgIFRleHR1cmUqIGNyZWF0ZVRleHR1cmUoTmF0
aXZlSW1hZ2VQdHIsIFRleHR1cmU6OkZvcm1hdCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKICAg
ICBUZXh0dXJlKiBnZXRUZXh0dXJlKE5hdGl2ZUltYWdlUHRyKTsKIAorICAgIC8vIE11bHRpcGxl
IFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEIGNhbiBleGlzdCBpbiBhIHNpbmdsZSBwcm9jZXNzIChv
bmUgcGVyIGNvbXBvc2l0aW5nIGNvbnRleHQpIGFuZCB0aGUgc2FtZQorICAgIC8vIE5hdGl2ZUlt
YWdlUHRyIG1heSBiZSB1cGxvYWRlZCBhcyBhIHRleHR1cmUgaW50byBhbGwgb2YgdGhlbS4gIFRo
aXMgZnVuY3Rpb24gcmVtb3ZlcyB1cGxvYWRlZCB0ZXh0dXJlcworICAgIC8vIGZvciBhIGdpdmVu
IE5hdGl2ZUltYWdlUHRyIGluIGFsbCBjb250ZXh0cy4KKyAgICBzdGF0aWMgdm9pZCByZW1vdmVU
ZXh0dXJlc0ZvcihOYXRpdmVJbWFnZVB0cik7CisKICAgICAvLyBDcmVhdGVzIGEgdGV4dHVyZSB0
aGF0IGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYW55IGltYWdlLiAgVGhlIGNhbGxlciB0YWtlcyBv
d25lcnNoaXAgb2YKICAgICAvLyB0aGUgdGV4dHVyZS4KICAgICBQYXNzUmVmUHRyPFRleHR1cmU+
IGNyZWF0ZVRleHR1cmUoVGV4dHVyZTo6Rm9ybWF0LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwog
CiBwcml2YXRlOgotICAgIFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEKFBhc3NPd25QdHI8R3JhcGhp
Y3NDb250ZXh0M0Q+IGNvbnRleHQpOworICAgIGV4cGxpY2l0IFNoYXJlZEdyYXBoaWNzQ29udGV4
dDNEKFBhc3NPd25QdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQpOworCisgICAgLy8gVXNl
ZCB0byBpbXBsZW1lbnQgcmVtb3ZlVGV4dHVyZXNGb3IoKSwgc2VlIHRoZSBjb21tZW50IGFib3Zl
LgorICAgIHN0YXRpYyBIYXNoU2V0PFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEKj4qIGFsbENvbnRl
eHRzKCk7CisgICAgdm9pZCByZW1vdmVUZXh0dXJlRm9yKE5hdGl2ZUltYWdlUHRyKTsKIAogICAg
IE93blB0cjxHcmFwaGljc0NvbnRleHQzRD4gbV9jb250ZXh0OwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvTmF0aXZlSW1hZ2VTa2lhLmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9OYXRpdmVJbWFnZVNraWEuY3BwCmluZGV4IDllZmZhNWNm
OWRiZTVhNzM4NGVjODBkNjdkYjk0YzY3M2M1NGQ5NTUuLjgxMGNiMzhkMjQyMmI1NjAyNmQ2N2Y2
MjYzMjExOWJjOGI0OWU2MTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9OYXRpdmVJbWFnZVNraWEuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9OYXRpdmVJbWFnZVNraWEuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAic2tp
YS9leHQvaW1hZ2Vfb3BlcmF0aW9ucy5oIgogCiAjaW5jbHVkZSAiTmF0aXZlSW1hZ2VTa2lhLmgi
CisjaW5jbHVkZSAiU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QuaCIKICNpbmNsdWRlICJTa2lhVXRp
bHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTIsNiArNTMsMTIgQEAgTmF0aXZlSW1h
Z2VTa2lhOjpOYXRpdmVJbWFnZVNraWEoY29uc3QgU2tCaXRtYXAmIG90aGVyKQogewogfQogCisK
K05hdGl2ZUltYWdlU2tpYTo6fk5hdGl2ZUltYWdlU2tpYSgpCit7CisgICAgU2hhcmVkR3JhcGhp
Y3NDb250ZXh0M0Q6OnJlbW92ZVRleHR1cmVzRm9yKHRoaXMpOworfQorCiBpbnQgTmF0aXZlSW1h
Z2VTa2lhOjpkZWNvZGVkU2l6ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGdldFNpemUoKSArIG1f
cmVzaXplZEltYWdlLmdldFNpemUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9OYXRpdmVJbWFnZVNraWEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9OYXRpdmVJbWFnZVNraWEuaAppbmRleCBlMjZhNWVhZThmZmJjMTAzZDZhN2MwNmVmMTA3
YmQ3MjliMDEyYTQ0Li4wMGIwYTY4NTA2NWI0MjdkYTExYzk0YWRkZDY1YWE5M2U0ZmNkYWQ0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvTmF0aXZlSW1hZ2VTa2lh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL05hdGl2ZUltYWdlU2tpYS5o
CkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5hdGl2ZUltYWdl
U2tpYSA6IHB1YmxpYyBTa0JpdG1hcCB7CiBwdWJsaWM6CiAgICAgTmF0aXZlSW1hZ2VTa2lhKCk7
CisgICAgfk5hdGl2ZUltYWdlU2tpYSgpOwogCiAgICAgLy8gVGhpcyBjb25zdHJ1Y3RvciBkb2Vz
IGEgc2hhbGxvdyBjb3B5IG9mIHRoZSBwYXNzZWQtaW4gU2tCaXRtYXAgKGllLiwgaXQKICAgICAv
LyByZWZlcmVuY2VzIHRoZSBzYW1lIHBpeGVsIGRhdGEgYW5kIGJ1bXBzIHRoZSByZWZjb3VudCku
ICBVc2Ugb25seSB3aGVuCg==
</data>
<flag name="review"
          id="56775"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>