<?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>185191</bug_id>
          
          <creation_ts>2018-05-02 02:13:06 -0700</creation_ts>
          <short_desc>document.open() event listener removal is not immediate</short_desc>
          <delta_ts>2018-05-02 11:40:21 -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>DOM</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anne van Kesteren">annevk</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1419604</commentid>
    <comment_count>0</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2018-05-02 02:13:06 -0700</bug_when>
    <thetext>See https://github.com/w3c/web-platform-tests/pull/10686 and https://github.com/whatwg/html/pull/3653.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419659</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-05-02 08:56:35 -0700</bug_when>
    <thetext>I believe the issue is that EventListenerMap::clear() clears m_entries but fails to call markAsRemoved() on each RegisteredEventListener. Therefore, if somebody already had a reference to the RegisteredEventListeners, it can still fire events at them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419671</commentid>
    <comment_count>2</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2018-05-02 09:19:52 -0700</bug_when>
    <thetext>Yeah, that sounds similar to how the standard works. When you invoke removeEventListener() it both removes from the list and sets a removed flag that dispatch will take into account.

I think this should work similar (and it does in Chrome and Firefox).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419696</commentid>
    <comment_count>3</comment_count>
      <attachid>339310</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-05-02 09:53:28 -0700</bug_when>
    <thetext>Created attachment 339310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419757</commentid>
    <comment_count>4</comment_count>
      <attachid>339310</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 11:39:25 -0700</bug_when>
    <thetext>Comment on attachment 339310
Patch

Clearing flags on attachment: 339310

Committed r231248: &lt;https://trac.webkit.org/changeset/231248&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419758</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 11:39:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419759</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-02 11:40:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/39912521&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339310</attachid>
            <date>2018-05-02 09:53:28 -0700</date>
            <delta_ts>2018-05-02 11:39:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185191-20180502095327.patch</filename>
            <type>text/plain</type>
            <size>4291</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE1YWI3MzQzMGJlOTk4
MmNlYzNhZGY1ZWZiZTllNDBjNDVkZDgxNi4uMjM3N2I4NThhYmE5NzFhYTU2YjA3NjgwN2VhY2Ez
NWU5NDU4YmVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTA1LTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgZG9jdW1lbnQub3BlbigpIGV2
ZW50IGxpc3RlbmVyIHJlbW92YWwgaXMgbm90IGltbWVkaWF0ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1MTkxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgbmVlZCB0byBtYWtlIHN1cmUgd2Ugc2V0
IHRoZSAnd2FzcmVtb3ZlZCcgZmxhZyBvbiBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lcnMKKyAgICAg
ICAgd2hlbmV2ZXIgdGhleSBnZXQgcmVtb3ZlZCBmcm9tIHRoZSBFdmVudExpc3RlbmVyTWFwLiBX
ZSB3ZXJlIGRvaW5nIHNvIGNvcnJlY3RseQorICAgICAgICBpbiBFdmVudExpc3RlbmVyTWFwOnJl
bW92ZSgpIGJ1dCBub3QgRXZlbnRMaXN0ZW5lck1hcDo6Y2xlYXIoKS4gVGhpcyBwYXRjaAorICAg
ICAgICB1cGRhdGVzIGNsZWFyKCkgYWNjb3JkaW5nbHkuCisKKyAgICAgICAgVGhlIHJlYXNvbiB3
ZSBuZWVkIHRvIHNldCB0aGlzIGZsYWcgaXMgdGhhdCBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lcnMg
aXMgUmVmQ291bnRlZAorICAgICAgICBhbmQgRXZlbnRUYXJnZXQ6OmZpcmVFdmVudExpc3RlbmVy
cygpIG1heSBiZSBjdXJyZW50bHkgcnVubmluZyBhbmQgY2FsbGluZworICAgICAgICBlYWNoIGxp
c3RlbmVyIG9uZSBieSBvbmUsIGhvbGRpbmcgYSByZWZlcmVuY2UgdG8gYWxsIGxpc3RlbmVyIG9m
IGEgZ2l2ZW4gZXZlbnQuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vRG9jdW1lbnQvZG9jdW1l
bnQtb3Blbi1yZW1vdmVzLWFsbC1saXN0ZW5lcnMuaHRtbAorCisgICAgICAgICogZG9tL0V2ZW50
TGlzdGVuZXJNYXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMaXN0ZW5lck1hcDo6Y2xl
YXIpOgorCiAyMDE4LTA1LTAxICBPbGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwu
Y29tPgogCiAgICAgICAgIFdlYkFzc2VtYmx5OiBhZGQgc3VwcG9ydCBmb3Igc3RyZWFtIEFQSXMg
LSBKYXZhU2NyaXB0IEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlz
dGVuZXJNYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwCmlu
ZGV4IDlmZTNjMjdjMmQ5ZmI3NGEwMDFiNjIzY2E2N2RiZGY0MWM5MjBjYTkuLmJmOTIyYTk0MmY2
ODdiZTI1NWVjYTljMDhkZTA1NmQzMjI3ZjRhYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudExpc3RlbmVyTWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRM
aXN0ZW5lck1hcC5jcHAKQEAgLTg2LDYgKzg2LDExIEBAIHZvaWQgRXZlbnRMaXN0ZW5lck1hcDo6
Y2xlYXIoKQogICAgIAogICAgIGFzc2VydE5vQWN0aXZlSXRlcmF0b3JzKCk7CiAKKyAgICBmb3Ig
KGF1dG8mIGVudHJ5IDogbV9lbnRyaWVzKSB7CisgICAgICAgIGZvciAoYXV0byYgbGlzdGVuZXIg
OiAqZW50cnkuc2Vjb25kKQorICAgICAgICAgICAgbGlzdGVuZXItPm1hcmtBc1JlbW92ZWQoKTsK
KyAgICB9CisKICAgICBtX2VudHJpZXMuY2xlYXIoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgzNTdmYjVjNDlh
N2M0ODUzMzM5NjFhYWEyNDU4MmUwMzlhZGFmOGYuLjhkOTdhYTVjNTg2ZGRmMmRiMjQyMTM1NzVk
YzY2Yjg5NjY5ZjU3OTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wNS0wMiAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIGRvY3VtZW50Lm9wZW4oKSBldmVu
dCBsaXN0ZW5lciByZW1vdmFsIGlzIG5vdCBpbW1lZGlhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTE5MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKwor
ICAgICAgICAqIGZhc3QvZG9tL0RvY3VtZW50L2RvY3VtZW50LW9wZW4tcmVtb3Zlcy1hbGwtbGlz
dGVuZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRG9jdW1lbnQv
ZG9jdW1lbnQtb3Blbi1yZW1vdmVzLWFsbC1saXN0ZW5lcnMuaHRtbDogQWRkZWQuCisKIDIwMTgt
MDUtMDEgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCB0ZXN0IGdhcmRlbmluZywgY29ycmVjdCBhIHR5cG8gaW4gdGhlIGlPUyBUZXN0RXhw
ZWN0YXRpb24gZmlsZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50
L2RvY3VtZW50LW9wZW4tcmVtb3Zlcy1hbGwtbGlzdGVuZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L2RvY3VtZW50LW9wZW4tcmVtb3Zlcy1hbGwtbGlzdGVu
ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTBkZGQwNmU4YWU4MTRjMjM4ZWVlZGY5OWQ3
YmJiNmVlMWRhZjY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9j
dW1lbnQvZG9jdW1lbnQtb3Blbi1yZW1vdmVzLWFsbC1saXN0ZW5lcnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTAgQEAKK0V2ZW50IGxpc3RlbmVycyBhcmUgdG8gYmUgcmVtb3ZlZCB3aXRoIGlt
bWVkaWF0ZSBlZmZlY3QgYnkgZG9jdW1lbnQub3BlbigpCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIG9uY2UgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9Eb2N1bWVudC9kb2N1bWVudC1vcGVuLXJlbW92ZXMtYWxsLWxpc3RlbmVycy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvZG9jdW1lbnQtb3Blbi1yZW1vdmVzLWFsbC1saXN0
ZW5lcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NWU2NmJlOTMxMTY4YWVjYWJiYTYxY2RhYTg5NDUyYTRj
NTkyMzczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQv
ZG9jdW1lbnQtb3Blbi1yZW1vdmVzLWFsbC1saXN0ZW5lcnMuaHRtbApAQCAtMCwwICsxLDIxIEBA
Cis8RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkV2
ZW50IGxpc3RlbmVycyBhcmUgdG8gYmUgcmVtb3ZlZCB3aXRoIGltbWVkaWF0ZSBlZmZlY3QgYnkg
ZG9jdW1lbnQub3BlbigpIik7CisKK2NvbnN0IGZyYW1lID0gZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSk7CitsZXQgb25jZSA9IGZhbHNl
OworZnJhbWUuY29udGVudERvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIngiLCAoKSA9PiB7Cisg
ICAgZnJhbWUuY29udGVudERvY3VtZW50Lm9wZW4oKTsKKyAgICBvbmNlID0gdHJ1ZTsKK30pOwor
ZnJhbWUuY29udGVudERvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIngiLCBmdW5jdGlvbigpIHsK
KyAgICB0ZXN0RmFpbGVkKCJzZWNvbmQgZXZlbnQgbGlzdGVuZXIgbm90IHJlbW92ZWQiKQorfSk7
CitmcmFtZS5jb250ZW50RG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoIngiKSk7Citz
aG91bGRCZVRydWUoIm9uY2UiKTsKK2ZyYW1lLmNvbnRlbnREb2N1bWVudC5jbG9zZSgpOworPC9z
Y3JpcHQ+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>