<?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>34518</bug_id>
          
          <creation_ts>2010-02-03 03:01:19 -0800</creation_ts>
          <short_desc>[BREWMP] Implement OwnPtrBrew to make sure BREW instances are freed.</short_desc>
          <delta_ts>2010-02-03 13:17:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</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>
          
          <blocked>33564</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kwang Yul Seo">skyul</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>187302</commentid>
    <comment_count>0</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2010-02-03 03:01:19 -0800</bug_when>
    <thetext>Add OwnPtrBrew to free BREW instances.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187303</commentid>
    <comment_count>1</comment_count>
      <attachid>48006</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2010-02-03 03:03:38 -0800</bug_when>
    <thetext>Created attachment 48006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187481</commentid>
    <comment_count>2</comment_count>
      <attachid>48006</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-03 12:59:51 -0800</bug_when>
    <thetext>Comment on attachment 48006
Patch

Seems we should eventually share more code between things like this and GOwnPtr or RetainPtr.  No need for each platform to copy/paste.

If you&apos;d like to file a bug about such code sharing, that&apos;d be great.

This looks fine to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187489</commentid>
    <comment_count>3</comment_count>
      <attachid>48006</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-03 13:17:28 -0800</bug_when>
    <thetext>Comment on attachment 48006
Patch

Clearing flags on attachment: 48006

Committed r54294: &lt;http://trac.webkit.org/changeset/54294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187490</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-03 13:17:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48006</attachid>
            <date>2010-02-03 03:03:38 -0800</date>
            <delta_ts>2010-02-03 13:17:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>OwnPtrBrew.patch</filename>
            <type>text/plain</type>
            <size>6706</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU0Mjc3KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTAtMDItMDMgIEt3YW5nIFl1
bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbQlJFV01QXSBJbXBsZW1lbnQgT3duUHRyQnJldyB0byBt
YWtlIHN1cmUgQlJFVyBpbnN0YW5jZXMgYXJlIGZyZWVkLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ1MTgKKworICAgICAgICBBZGQgT3duUHRyQnJl
dyB0byByZWxlYXNlIElGaWxlLCBJRmlsZU1nciBhbmQgSUJpdG1hcCBpbnN0YW5jZXMuCisKKyAg
ICAgICAgKiB3dGYvYnJldy9Pd25QdHJCcmV3LmNwcDogQWRkZWQuCisgICAgICAgIChXVEY6OklG
aWxlTWdyKToKKyAgICAgICAgKFdURjo6SUZpbGUpOgorICAgICAgICAoV1RGOjpJQml0bWFwKToK
KyAgICAgICAgKFdURjo6ZnJlZU93bmVkUHRyQnJldyk6CisgICAgICAgICogd3RmL2JyZXcvT3du
UHRyQnJldy5oOiBBZGRlZC4KKyAgICAgICAgKFdURjo6T3duUHRyQnJldzo6T3duUHRyQnJldyk6
CisgICAgICAgIChXVEY6Ok93blB0ckJyZXc6On5Pd25QdHJCcmV3KToKKyAgICAgICAgKFdURjo6
T3duUHRyQnJldzo6Z2V0KToKKyAgICAgICAgKFdURjo6T3duUHRyQnJldzo6cmVsZWFzZSk6Cisg
ICAgICAgIChXVEY6Ok93blB0ckJyZXc6Om91dFB0cik6CisgICAgICAgIChXVEY6Ok93blB0ckJy
ZXc6OnNldCk6CisgICAgICAgIChXVEY6Ok93blB0ckJyZXc6OmNsZWFyKToKKyAgICAgICAgKFdU
Rjo6T3duUHRyQnJldzo6b3BlcmF0b3IqKToKKyAgICAgICAgKFdURjo6T3duUHRyQnJldzo6b3Bl
cmF0b3ItPik6CisgICAgICAgIChXVEY6Ok93blB0ckJyZXc6Om9wZXJhdG9yISk6CisgICAgICAg
IChXVEY6Ok93blB0ckJyZXc6Om9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUpOgorICAgICAg
ICAoV1RGOjpPd25QdHJCcmV3Ojpzd2FwKToKKyAgICAgICAgKFdURjo6c3dhcCk6CisgICAgICAg
IChXVEY6Om9wZXJhdG9yPT0pOgorICAgICAgICAoV1RGOjpvcGVyYXRvciE9KToKKyAgICAgICAg
KFdURjo6Z2V0UHRyKToKKwogMjAxMC0wMi0wMiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgpJbmRleDogSmF2YVNj
cmlwdENvcmUvd3RmL2JyZXcvT3duUHRyQnJldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlw
dENvcmUvd3RmL2JyZXcvT3duUHRyQnJldy5jcHAJKHJldmlzaW9uIDApCisrKyBKYXZhU2NyaXB0
Q29yZS93dGYvYnJldy9Pd25QdHJCcmV3LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBDb21wYW55IDEwMCwgSW5jLgorICoKKyAqICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAg
MDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk93
blB0ckJyZXcuaCIKKworI2luY2x1ZGUgPEFFRUJpdG1hcC5oPgorI2luY2x1ZGUgPEFFRUZpbGUu
aD4KKyNpbmNsdWRlIDxBRUVTdGRMaWIuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRl
IDw+IHZvaWQgZnJlZU93bmVkUHRyQnJldzxJRmlsZU1ncj4oSUZpbGVNZ3IqIHB0cikKK3sKKyAg
ICBpZiAocHRyKQorICAgICAgICBJRklMRU1HUl9SZWxlYXNlKHB0cik7Cit9CisKK3RlbXBsYXRl
IDw+IHZvaWQgZnJlZU93bmVkUHRyQnJldzxJRmlsZT4oSUZpbGUqIHB0cikKK3sKKyAgICBpZiAo
cHRyKQorICAgICAgICBJRklMRV9SZWxlYXNlKHB0cik7Cit9CisKK3RlbXBsYXRlIDw+IHZvaWQg
ZnJlZU93bmVkUHRyQnJldzxJQml0bWFwPihJQml0bWFwKiBwdHIpCit7CisgICAgaWYgKHB0cikK
KyAgICAgICAgSUJpdG1hcF9SZWxlYXNlKHB0cik7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBU
PiB2b2lkIGZyZWVPd25lZFB0ckJyZXcoVCogcHRyKQoreworICAgIEZSRUVJRihwdHIpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXVEYKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9icmV3L093blB0
ckJyZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvYnJldy9Pd25QdHJCcmV3
LmgJKHJldmlzaW9uIDApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvYnJldy9Pd25QdHJCcmV3LmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMzIEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChD
KSAyMDA4IENvbGxhYm9yYSBMdGQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDEwIENvbXBhbnkgMTAw
LCBJbmMuCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIE93blB0ckJyZXdfaAorI2RlZmluZSBPd25Q
dHJCcmV3X2gKKworI2luY2x1ZGUgPGFsZ29yaXRobT4KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorCisvLyBGb3J3YXJkIGRlbGNhcmF0
aW9ucyBhdCB0aGlzIHBvaW50IGF2b2lkIHRoZSBuZWVkIHRvIGluY2x1ZGUgQlJFVyBpbmNsdWRl
cworLy8gaW4gV1RGIGhlYWRlcnMuCit0eXBlZGVmIHN0cnVjdCBfSUZpbGVNZ3IgSUZpbGVNZ3I7
Cit0eXBlZGVmIHN0cnVjdCBfSUZpbGUgSUZpbGU7Cit0eXBlZGVmIHN0cnVjdCBJQml0bWFwIElC
aXRtYXA7CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBm
cmVlT3duZWRQdHJCcmV3KFQqIHB0cik7Cit0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkUHRyQnJl
dzxJRmlsZU1ncj4oSUZpbGVNZ3IqKTsKK3RlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRQdHJCcmV3
PElGaWxlPihJRmlsZSopOwordGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZFB0ckJyZXc8SUJpdG1h
cD4oSUJpdG1hcCopOworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyQnJldyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgT3duUHRyQnJldyhU
KiBwdHIgPSAwKSA6IG1fcHRyKHB0cikgeyB9CisgICAgfk93blB0ckJyZXcoKSB7IGZyZWVPd25l
ZFB0ckJyZXcobV9wdHIpOyB9CisKKyAgICBUKiBnZXQoKSBjb25zdCB7IHJldHVybiBtX3B0cjsg
fQorICAgIFQqIHJlbGVhc2UoKQorICAgIHsKKyAgICAgICAgVCogcHRyID0gbV9wdHI7CisgICAg
ICAgIG1fcHRyID0gMDsKKyAgICAgICAgcmV0dXJuIHB0cjsKKyAgICB9CisKKyAgICBUKiYgb3V0
UHRyKCkKKyAgICB7CisgICAgICAgIEFTU0VSVCghbV9wdHIpOworICAgICAgICByZXR1cm4gbV9w
dHI7CisgICAgfQorCisgICAgdm9pZCBzZXQoVCogcHRyKQorICAgIHsKKyAgICAgICAgQVNTRVJU
KCFwdHIgfHwgbV9wdHIgIT0gcHRyKTsKKyAgICAgICAgZnJlZU93bmVkUHRyQnJldyhtX3B0cik7
CisgICAgICAgIG1fcHRyID0gcHRyOworICAgIH0KKworICAgIHZvaWQgY2xlYXIoKQorICAgIHsK
KyAgICAgICAgZnJlZU93bmVkUHRyQnJldyhtX3B0cik7CisgICAgICAgIG1fcHRyID0gMDsKKyAg
ICB9CisKKyAgICBUJiBvcGVyYXRvciooKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKG1f
cHRyKTsKKyAgICAgICAgcmV0dXJuICptX3B0cjsKKyAgICB9CisKKyAgICBUKiBvcGVyYXRvci0+
KCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChtX3B0cik7CisgICAgICAgIHJldHVybiBt
X3B0cjsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFtX3B0
cjsgfQorCisgICAgLy8gVGhpcyBjb252ZXJzaW9uIG9wZXJhdG9yIGFsbG93cyBpbXBsaWNpdCBj
b252ZXJzaW9uIHRvIGJvb2wgYnV0IG5vdCB0byBvdGhlciBpbnRlZ2VyIHR5cGVzLgorICAgIHR5
cGVkZWYgVCogT3duUHRyQnJldzo6KlVuc3BlY2lmaWVkQm9vbFR5cGU7CisgICAgb3BlcmF0b3Ig
VW5zcGVjaWZpZWRCb29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJk93blB0ckJyZXc6
Om1fcHRyIDogMDsgfQorCisgICAgdm9pZCBzd2FwKE93blB0ckJyZXcmIG8pIHsgc3RkOjpzd2Fw
KG1fcHRyLCBvLm1fcHRyKTsgfQorCitwcml2YXRlOgorICAgIFQqIG1fcHRyOworfTsKKwordGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGlubGluZSB2b2lkIHN3YXAoT3duUHRyQnJldzxUPiYgYSwgT3du
UHRyQnJldzxUPiYgYikKK3sKKyAgICBhLnN3YXAoYik7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IE93blB0ckJyZXc8
VD4mIGEsIFUqIGIpCit7CisgICAgcmV0dXJuIGEuZ2V0KCkgPT0gYjsKK30KKwordGVtcGxhdGUg
PHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBib29sIG9wZXJhdG9yPT0oVCogYSwgY29u
c3QgT3duUHRyQnJldzxVPiYgYikKK3sKKyAgICByZXR1cm4gYSA9PSBiLmdldCgpOworfQorCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wgb3BlcmF0b3IhPShj
b25zdCBPd25QdHJCcmV3PFQ+JiBhLCBVKiBiKQoreworICAgIHJldHVybiBhLmdldCgpICE9IGI7
Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYm9vbCBvcGVy
YXRvciE9KFQqIGEsIGNvbnN0IE93blB0ckJyZXc8VT4mIGIpCit7CisgICAgcmV0dXJuIGEgIT0g
Yi5nZXQoKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGlubGluZSB0eXBlbmFtZSBPd25Q
dHJCcmV3PFQ+OjpQdHJUeXBlIGdldFB0cihjb25zdCBPd25QdHJCcmV3PFQ+JiBwKQoreworICAg
IHJldHVybiBwLmdldCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwordXNpbmcgV1RGOjpP
d25QdHJCcmV3OworCisjZW5kaWYgLy8gT3duUHRyQnJld19oCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>