<?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>108390</bug_id>
          
          <creation_ts>2013-01-30 14:57:52 -0800</creation_ts>
          <short_desc>Make JSEventListener more robust in the event of the compiled handler being released.</short_desc>
          <delta_ts>2013-01-30 17:30:19 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>820640</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-01-30 14:57:52 -0800</bug_when>
    <thetext>Make JSEventListener more robust in the event of the compiled handler being released.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820650</commentid>
    <comment_count>1</comment_count>
      <attachid>185591</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-01-30 15:03:29 -0800</bug_when>
    <thetext>Created attachment 185591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820839</commentid>
    <comment_count>2</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-01-30 17:09:52 -0800</bug_when>
    <thetext>Committed r141348: &lt;http://trac.webkit.org/changeset/141348&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820840</commentid>
    <comment_count>3</comment_count>
      <attachid>185591</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-30 17:09:55 -0800</bug_when>
    <thetext>Comment on attachment 185591
Patch

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

&gt; Source/WebCore/bindings/js/JSLazyEventListener.cpp:-125
&gt; -    // Since we only parse once, there&apos;s no need to keep data used for parsing around anymore.
&gt; -    m_functionName = String();
&gt; -    m_code = String();
&gt; -    m_eventParameterName = String();
&gt; -    m_sourceURL = String();

Why do we need this, given the early return?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820859</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-01-30 17:30:19 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 185591 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=185591&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSLazyEventListener.cpp:-125
&gt; &gt; -    // Since we only parse once, there&apos;s no need to keep data used for parsing around anymore.
&gt; &gt; -    m_functionName = String();
&gt; &gt; -    m_code = String();
&gt; &gt; -    m_eventParameterName = String();
&gt; &gt; -    m_sourceURL = String();
&gt; 
&gt; Why do we need this, given the early return?

So that we maintain correct behaviour - the only reason we hit this is if we want to execute the function so not running the function would result in incorrect behaviour.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185591</attachid>
            <date>2013-01-30 15:03:29 -0800</date>
            <delta_ts>2013-01-30 17:09:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108390-20130130150014.patch</filename>
            <type>text/plain</type>
            <size>3286</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMjk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmYyOTA2MGNmZDU1Zjk2
NWVjYTUwMjRjNzYxOGI0YmM4ODBiYWM4Yy4uMDk2M2FjOWRmMzg4N2FkMzBlNzAyYzg3ZTJlNDc3
OWM1NTAwYzNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTMwICBPbGl2
ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBKU0V2ZW50TGlzdGVu
ZXIgbW9yZSByb2J1c3QgaW4gdGhlIGV2ZW50IG9mIHRoZSBjb21waWxlZCBoYW5kbGVyIGJlaW5n
IHJlbGVhc2VkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA4MzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSXQgc2hvdWxkbid0IGJlIHBvc3NpYmxlIGZvciBhIGhhbmRsZXIgdG8gYmUgY29sbGVjdGVk
IGZvciBhbnkgb2JqZWN0IHRoYXQKKyAgICAgICAgbWlnaHQgc3RpbGwgdHJpZ2dlciBhbiBldmVu
dC4gIE5vbmV0aGVsZXNzIGl0IGRvZXMgc3RpbGwgaGFwcGVuLCBhbmQgdGhlCisgICAgICAgIG9u
bHkgcG9pbnQgb2YgZmFpbHVyZSB0aGF0IGN1cnJlbnRseSBleGlzdHMgaXMgY29tcGlsaW5nIHRo
ZSBoYW5kbGVyLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaXMgbW9zdGx5IGp1c3QgYXNzZXJ0aW9u
cywgYnV0IGFsc28gcmVtb3ZlcyBhIGJ1bmNoIG9mIGZpZWxkCisgICAgICAgIGNsZWFyaW5nIHRo
YXQgd2FzIHByZXZpb3VzbHkgYmVpbmcgcGVyZm9ybWVkLiAgR2l2ZW4gd2UgZG8gc2VlbSB0byBw
ZXJpb2RpY2FsbHkKKyAgICAgICAgZW5kIHVwIG5lZWRpbmcgdG8gcmVjb21waWxlIGEgaGFuZGxl
ciB0aGlzIGFwcGVhcnMgdG8gYmUgbmVjZXNzYXJ5LiAgVGhhdAorICAgICAgICBzYWlkIHRoZXJl
IGRvZXMgbm90IGFwcGVhciB0byBiZSBhIG1lbW9yeSBoaXQgZnJvbSB0aGlzIGFzIHRoZSBldmVu
dCBoYW5kbGVycworICAgICAgICB0aGF0IG1ha2UgdXMgdXNlIEpTTGF6eUV2ZW50TGlzdGVuZXIg
YXJlIG5vdCBmcmVxdWVudGx5IGNvbXBpbGVkLCBhbmQgdGhlIGJ1bGsKKyAgICAgICAgb2YgdGhl
IGZ1bmN0aW9ucyB0aGF0IGFyZSBjb21waWxlZCBlbmQgdXAgY2F1c2luZyB1cyB0byBrZWVwIHRo
ZSBzdHJpbmdzIGFyb3VuZAorICAgICAgICBhbnl3YXkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0xhenlFdmVudExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTTGF6eUV2ZW50
TGlzdGVuZXI6OkpTTGF6eUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNMYXp5
RXZlbnRMaXN0ZW5lcjo6aW5pdGlhbGl6ZUpTRnVuY3Rpb24pOgorCiAyMDEzLTAxLTMwICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSB3aWxs
QWRkQXV0aG9yU2hhZG93Um9vdCBhbmQgcmVwbGFjZSB3aXRoIGFsd2F5c0NyZWF0ZVVzZXJBZ2Vu
dFNoYWRvd1Jvb3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTGF6
eUV2ZW50TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMYXp5RXZl
bnRMaXN0ZW5lci5jcHAKaW5kZXggODdkYzQ5MjUzN2RlMzU3YWJlOGRiZTc4YzRhZDdiYjA4M2Iw
MTdhZi4uODc0NDlhZjcxMjM2ZjdlN2QyZmVkNDliOTE1YzE4MzA0NzRkMmMwMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAKQEAg
LTU2LDYgKzU2LDggQEAgSlNMYXp5RXZlbnRMaXN0ZW5lcjo6SlNMYXp5RXZlbnRMaXN0ZW5lcihj
b25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSwgY29uc3QgU3RyaW4KICAgICBpZiAobV9wb3NpdGlv
biA9PSBUZXh0UG9zaXRpb246OmJlbG93UmFuZ2VQb3NpdGlvbigpKQogICAgICAgICBtX3Bvc2l0
aW9uID0gVGV4dFBvc2l0aW9uOjptaW5pbXVtUG9zaXRpb24oKTsKIAorICAgIEFTU0VSVChtX2V2
ZW50UGFyYW1ldGVyTmFtZSA9PSAiZXZ0IiB8fCBtX2V2ZW50UGFyYW1ldGVyTmFtZSA9PSAiZXZl
bnQiKTsKKwogI2lmbmRlZiBOREVCVUcKICAgICBldmVudExpc3RlbmVyQ291bnRlci5pbmNyZW1l
bnQoKTsKICNlbmRpZgpAQCAtNzUsNiArNzcsMTEgQEAgSlNPYmplY3QqIEpTTGF6eUV2ZW50TGlz
dGVuZXI6OmluaXRpYWxpemVKU0Z1bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGV4ZWMK
ICAgICBpZiAoIWV4ZWN1dGlvbkNvbnRleHQpCiAgICAgICAgIHJldHVybiAwOwogCisgICAgQVNT
RVJUKCFtX2NvZGUuaXNOdWxsKCkpOworICAgIEFTU0VSVCghbV9ldmVudFBhcmFtZXRlck5hbWUu
aXNOdWxsKCkpOworICAgIGlmIChtX2NvZGUuaXNOdWxsKCkgfHwgbV9ldmVudFBhcmFtZXRlck5h
bWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiAwOworCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50
ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihleGVjdXRpb25Db250ZXh0KTsKIAogICAgIGlmICgh
ZG9jdW1lbnQtPmZyYW1lKCkpCkBAIC0xMTcsMTIgKzEyNCw2IEBAIEpTT2JqZWN0KiBKU0xhenlF
dmVudExpc3RlbmVyOjppbml0aWFsaXplSlNGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBleGVjCiAgICAgICAgIC8vIChhbmQgdGhlIGRvY3VtZW50LCBhbmQgdGhlIGZvcm0gLSBzZWUg
SlNIVE1MRWxlbWVudDo6ZXZlbnRIYW5kbGVyU2NvcGUpCiAgICAgICAgIGxpc3RlbmVyQXNGdW5j
dGlvbi0+c2V0U2NvcGUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBqc0Nhc3Q8SlNOb2RlKj4od3JhcHBl
cigpKS0+cHVzaEV2ZW50SGFuZGxlclNjb3BlKGV4ZWMsIGxpc3RlbmVyQXNGdW5jdGlvbi0+c2Nv
cGUoKSkpOwogICAgIH0KLQotICAgIC8vIFNpbmNlIHdlIG9ubHkgcGFyc2Ugb25jZSwgdGhlcmUn
cyBubyBuZWVkIHRvIGtlZXAgZGF0YSB1c2VkIGZvciBwYXJzaW5nIGFyb3VuZCBhbnltb3JlLgot
ICAgIG1fZnVuY3Rpb25OYW1lID0gU3RyaW5nKCk7Ci0gICAgbV9jb2RlID0gU3RyaW5nKCk7Ci0g
ICAgbV9ldmVudFBhcmFtZXRlck5hbWUgPSBTdHJpbmcoKTsKLSAgICBtX3NvdXJjZVVSTCA9IFN0
cmluZygpOwogICAgIHJldHVybiBqc0Z1bmN0aW9uOwogfQogCg==
</data>
<flag name="review"
          id="204708"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>