[Webkit-unassigned] [Bug 181580] New: Web Inspector: ASSERT_NOT_REACHED in PageDebuggerAgent::didAddEventListener when page adds attribute event listener

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 11 22:44:53 PST 2018


https://bugs.webkit.org/show_bug.cgi?id=181580

            Bug ID: 181580
           Summary: Web Inspector: ASSERT_NOT_REACHED in
                    PageDebuggerAgent::didAddEventListener when page adds
                    attribute event listener
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: All
                OS: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Web Inspector
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: joepeck at webkit.org
                CC: inspector-bugzilla-changes at group.apple.com

ASSERT_NOT_REACHED in PageDebuggerAgent::didAddEventListener when page adds attribute event listener

Test:
<body>
<script>
(function() {
    let b = document.body.appendChild(document.createElement("button"));
    b.textContent = "button";
    b.onclick = () => { console.log("target 2.0"); };
    b.addEventListener("click", () => { console.log("capture") }, true);
    b.onclick = () => { console.log("target 2.1"); };
    b.addEventListener("click", () => { console.log("bubble") }, false);
    b.onclick = () => { console.log("target 2.2"); };
})();
</script>

Steps to Reproduce:
1. Inspect test page in a debug build
2. Reload
  => ASSERT

Notes:
• My theory for that is that EventTarget::setAttributeEventListener calls eventListenerMap.replace(...) and soon after InspectorInstrumentation::didAddEventListener -> PageDebuggerAgent::didAddEventListener. PageDebuggerAgent::didAddEventListener apparently assumes the newly added event listener is the last event listener in the target.eventListeners() list. That does not match with the EventListenerMap::replace implementation, so I suspect that causes problems.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180112/cd2f373e/attachment-0001.html>


More information about the webkit-unassigned mailing list