<?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>58389</bug_id>
          
          <creation_ts>2011-04-12 16:05:19 -0700</creation_ts>
          <short_desc>Make API callback objects use weak handles to run their finalizers</short_desc>
          <delta_ts>2011-04-12 16:48:16 -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>New Bugs</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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>384463</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-04-12 16:05:19 -0700</bug_when>
    <thetext>Make API callback objects use weak handles to run their finalizers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384465</commentid>
    <comment_count>1</comment_count>
      <attachid>89297</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-04-12 16:07:12 -0700</bug_when>
    <thetext>Created attachment 89297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384476</commentid>
    <comment_count>2</comment_count>
      <attachid>89297</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-04-12 16:19:49 -0700</bug_when>
    <thetext>Comment on attachment 89297
Patch

When it becomes more common, we should find a way to make it easier and less error-prone to create a &quot;finalize-only&quot; style of handle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384490</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-04-12 16:28:05 -0700</bug_when>
    <thetext>Committed r83661: &lt;http://trac.webkit.org/changeset/83661&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384506</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-04-12 16:48:16 -0700</bug_when>
    <thetext>Committed r83664: &lt;http://trac.webkit.org/changeset/83664&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89297</attachid>
            <date>2011-04-12 16:07:12 -0700</date>
            <delta_ts>2011-04-12 16:19:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58389-20110412160711.patch</filename>
            <type>text/plain</type>
            <size>5037</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM2NTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tPYmplY3QuY3BwCmluZGV4IGUzZWY3YTQ3ODMwM2FlMDZjZjU2NTg2ZTI5ZDdh
NzUzODUxNTRhMzUuLjZhNzQ2MmE5MDQwZjhjYTFkN2ZiMjRhYjk1OWZkNjAwMzU4N2NiNjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcApAQCAt
MzksNCArMzksMTYgQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrT2JqZWN0
PEpTR2xvYmFsT2JqZWN0Pik7CiB0ZW1wbGF0ZSA8PiBjb25zdCBDbGFzc0luZm8gSlNDYWxsYmFj
a09iamVjdDxKU09iamVjdFdpdGhHbG9iYWxPYmplY3Q+OjpzX2luZm8gPSB7ICJDYWxsYmFja09i
amVjdCIsICZKU09iamVjdFdpdGhHbG9iYWxPYmplY3Q6OnNfaW5mbywgMCwgMCB9OwogdGVtcGxh
dGUgPD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Ojpz
X2luZm8gPSB7ICJDYWxsYmFja0dsb2JhbE9iamVjdCIsICZKU0dsb2JhbE9iamVjdDo6c19pbmZv
LCAwLCAwIH07CiAKK3ZvaWQgSlNDYWxsYmFja09iamVjdERhdGE6OmZpbmFsaXplKEhhbmRsZTxV
bmtub3duPiBoYW5kbGUsIHZvaWQqIGNvbnRleHQpCit7CisgICAgSlNDbGFzc1JlZiBqc0NsYXNz
ID0gc3RhdGljX2Nhc3Q8SlNDbGFzc1JlZj4oY29udGV4dCk7CisgICAgSlNPYmplY3RSZWYgdGhp
c1JlZiA9IHRvUmVmKGFzT2JqZWN0KGhhbmRsZS5nZXQoKSkpOworICAgIAorICAgIGZvciAoOyBq
c0NsYXNzOyBqc0NsYXNzID0ganNDbGFzcy0+cGFyZW50Q2xhc3MpCisgICAgICAgIGlmIChKU09i
amVjdEZpbmFsaXplQ2FsbGJhY2sgZmluYWxpemUgPSBqc0NsYXNzLT5maW5hbGl6ZSkKKyAgICAg
ICAgICAgIGZpbmFsaXplKHRoaXNSZWYpOworICAgIEhhbmRsZVNsb3Qgc2xvdCA9IGhhbmRsZS5z
bG90KCk7CisgICAgSGFuZGxlSGVhcDo6aGVhcEZvcihzbG90KS0+ZGVhbGxvY2F0ZShzbG90KTsK
K30KKyAgICAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tPYmplY3QuaAppbmRleCBhMGFkYjQ0ODI3OWY5ODYwODE4NGRmODEwNGIwYmE4
NTk0YmQzYTFhLi42MGZkOGNkM2E2ZjNjOTc0ZTVmYzIwYzllYTE1ZmI0ODdhMjQxYjI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaApAQCAtMzQsNyAr
MzQsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotc3RydWN0IEpTQ2FsbGJhY2tPYmplY3REYXRh
IHsKK3N0cnVjdCBKU0NhbGxiYWNrT2JqZWN0RGF0YSA6IFdlYWtIYW5kbGVPd25lciB7CiAgICAg
SlNDYWxsYmFja09iamVjdERhdGEodm9pZCogcHJpdmF0ZURhdGEsIEpTQ2xhc3NSZWYganNDbGFz
cykKICAgICAgICAgOiBwcml2YXRlRGF0YShwcml2YXRlRGF0YSkKICAgICAgICAgLCBqc0NsYXNz
KGpzQ2xhc3MpCkBAIC0xMTAsNiArMTEwLDcgQEAgc3RydWN0IEpTQ2FsbGJhY2tPYmplY3REYXRh
IHsKICAgICAgICAgUHJpdmF0ZVByb3BlcnR5TWFwIG1fcHJvcGVydHlNYXA7CiAgICAgfTsKICAg
ICBPd25QdHI8SlNQcml2YXRlUHJvcGVydHlNYXA+IG1fcHJpdmF0ZVByb3BlcnRpZXM7CisgICAg
dmlydHVhbCB2b2lkIGZpbmFsaXplKEhhbmRsZTxVbmtub3duPiwgdm9pZCopOwogfTsKIAogICAg
IApAQCAtMTE4LDcgKzExOSw2IEBAIGNsYXNzIEpTQ2FsbGJhY2tPYmplY3QgOiBwdWJsaWMgQmFz
ZSB7CiBwdWJsaWM6CiAgICAgSlNDYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBKU0dsb2JhbE9i
amVjdCosIE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4sIEpTQ2xhc3NSZWYsIHZvaWQqIGRh
dGEpOwogICAgIEpTQ2FsbGJhY2tPYmplY3QoSlNDbGFzc1JlZiwgTm9uTnVsbFBhc3NSZWZQdHI8
U3RydWN0dXJlPik7Ci0gICAgdmlydHVhbCB+SlNDYWxsYmFja09iamVjdCgpOwogCiAgICAgdm9p
ZCBzZXRQcml2YXRlKHZvaWQqIGRhdGEpOwogICAgIHZvaWQqIGdldFByaXZhdGUoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9u
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25z
LmgKaW5kZXggY2ExNWUxZjNhYTI5NmRlYTQwNmJlM2E4ODVhZmVjNDhkZjg4ZDBkYS4uNTBiODRj
NzZmMmE2MDg5NTlkMmNiMDcxMzg5Y2I2ZDAzM2ViOTUwYiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKQEAgLTg4LDE2
ICs4OCwxNiBAQCB2b2lkIEpTQ2FsbGJhY2tPYmplY3Q8QmFzZT46OmluaXQoRXhlY1N0YXRlKiBl
eGVjKQogICAgICAgICBKU09iamVjdEluaXRpYWxpemVDYWxsYmFjayBpbml0aWFsaXplID0gaW5p
dFJvdXRpbmVzW2ldOwogICAgICAgICBpbml0aWFsaXplKHRvUmVmKGV4ZWMpLCB0b1JlZih0aGlz
KSk7CiAgICAgfQotfQogCi10ZW1wbGF0ZSA8Y2xhc3MgQmFzZT4KLUpTQ2FsbGJhY2tPYmplY3Q8
QmFzZT46On5KU0NhbGxiYWNrT2JqZWN0KCkKLXsKLSAgICBKU09iamVjdFJlZiB0aGlzUmVmID0g
dG9SZWYodGhpcyk7Ci0gICAgCi0gICAgZm9yIChKU0NsYXNzUmVmIGpzQ2xhc3MgPSBjbGFzc1Jl
ZigpOyBqc0NsYXNzOyBqc0NsYXNzID0ganNDbGFzcy0+cGFyZW50Q2xhc3MpCi0gICAgICAgIGlm
IChKU09iamVjdEZpbmFsaXplQ2FsbGJhY2sgZmluYWxpemUgPSBqc0NsYXNzLT5maW5hbGl6ZSkK
LSAgICAgICAgICAgIGZpbmFsaXplKHRoaXNSZWYpOworICAgIGJvb2wgbmVlZHNGaW5hbGl6ZXIg
PSBmYWxzZTsKKyAgICBmb3IgKEpTQ2xhc3NSZWYganNDbGFzc1B0ciA9IGNsYXNzUmVmKCk7IGpz
Q2xhc3NQdHIgJiYgIW5lZWRzRmluYWxpemVyOyBqc0NsYXNzUHRyID0ganNDbGFzc1B0ci0+cGFy
ZW50Q2xhc3MpCisgICAgICAgIG5lZWRzRmluYWxpemVyID0ganNDbGFzc1B0ci0+ZmluYWxpemU7
CisgICAgaWYgKG5lZWRzRmluYWxpemVyKSB7CisgICAgICAgIEhhbmRsZVNsb3Qgc2xvdCA9IGV4
ZWMtPmdsb2JhbERhdGEoKS5hbGxvY2F0ZUdsb2JhbEhhbmRsZSgpOworICAgICAgICBIYW5kbGVI
ZWFwOjpoZWFwRm9yKHNsb3QpLT5tYWtlV2VhayhzbG90LCBtX2NhbGxiYWNrT2JqZWN0RGF0YS5n
ZXQoKSwgY2xhc3NSZWYoKSk7CisgICAgICAgIEhhbmRsZUhlYXA6OmhlYXBGb3Ioc2xvdCktPndy
aXRlQmFycmllcihzbG90LCB0aGlzKTsKKyAgICAgICAgKnNsb3QgPSB0aGlzOworICAgIH0KIH0K
IAogdGVtcGxhdGUgPGNsYXNzIEJhc2U+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1NzIx
ZTNiYmIzZTg0MjdiZjRiYTVmODc0YTkyZWE0MDdiZmNhNDVhLi4wOGQ2OTAyNGQzOGJjYWFhODdm
MGIzMmJjMDgxY2Q1OWI4MTI2OGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAxMS0wNC0xMiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgQVBJIGNh
bGxiYWNrIG9iamVjdHMgdXNlIHdlYWsgaGFuZGxlcyB0byBydW4gdGhlaXIgZmluYWxpemVycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgzODkKKwor
ICAgICAgICBNYWtlIHRoZSBBUEkgb2JqZWN0J3MgcHJpdmF0ZSBkYXRhIHN0cnVjdCBhY3QgYXMg
YSBmaW5hbGl6ZXIgZm9yCisgICAgICAgIGFuIGFwaSBvYmplY3QgaWYgdGhlIGNhbGxiYWNrIG9i
amVjdCBoYXMgYSBBUEkgZGVmaW5lZCBmaW5hbGl6ZXIuCisKKyAgICAgICAgKiBBUEkvSlNDYWxs
YmFja09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tPYmplY3REYXRhOjpmaW5h
bGl6ZSk6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3QuaDoKKyAgICAgICAgKiBBUEkv
SlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oOgorICAgICAgICAoSlNDOjo6OmluaXQpOgorICAg
ICAgICAqIGhlYXAvSGFuZGxlLmg6CisKIDIwMTEtMDQtMTIgIEdlb2ZmcmV5IEdhcmVuICA8Z2dh
cmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGFuZGxlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9IYW5kbGUuaAppbmRleCA2YWE3YjkwNDZjYWRhNjk2Yzc5ODI1ZDQ4Mjc4
NzUzMTFjZGJmNzkzLi5jMDc1NTFlMWQ2NmU1OWQxNjk0Yzg0ZGQwMjM4NGNhYzBjNzg2ODQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5kbGUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5kbGUuaApAQCAtNDYsNiArNDYsNyBAQCB0ZW1wbGF0
ZSA8PiBjbGFzcyBIYW5kbGU8SlNWYWx1ZT47CiAKIGNsYXNzIEhhbmRsZUJhc2UgewogICAgIGZy
aWVuZCBjbGFzcyBIYW5kbGVIZWFwOworICAgIGZyaWVuZCBzdHJ1Y3QgSlNDYWxsYmFja09iamVj
dERhdGE7CiAKIHB1YmxpYzoKICAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFt
X3Nsb3QgfHwgISptX3Nsb3Q7IH0K
</data>
<flag name="review"
          id="81955"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>