| <html> |
| <head> |
| <script src="../../http/tests/inspector/inspector-test.js"></script> |
| <script src="../../http/tests/inspector/elements-test.js"></script> |
| <script> |
| function documentClickHandler(event) { console.log("click - document - attribute"); } |
| |
| function setupEventListeners() |
| { |
| function f() {} |
| var button = document.getElementById("node"); |
| function clickHandler(event) { console.log("click - button - bubbling (registered before attribute)"); } |
| button.addEventListener("click", clickHandler, false); |
| button.addEventListener("hover", function hoverHandler(event) { console.log("hover - button - bubbling"); }, false); |
| button.addEventListener("click", function(event) { console.log("click - button - capturing"); }, true); |
| button.onclick = function(event) { console.log("click - button - attribute"); } |
| button.addEventListener("click", function(event) { console.log("click - button - bubbling (registered after attribute)"); }, false); |
| document.onclick = documentClickHandler; |
| document.addEventListener("click", function(event) { console.log("click - document - capturing"); }, true); |
| document.addEventListener("mousedown", f, false); |
| document.removeEventListener("mousedown", f, false); |
| |
| document.body.addEventListener("custom event", f, true); |
| |
| function ObjectHandler() { document.addEventListener("click", this, true); } |
| ObjectHandler.prototype.toString = function() { return "ObjectHandler"; } |
| new ObjectHandler(); |
| } |
| |
| function test() |
| { |
| WebInspector.settings.eventListenersFilter.set("all"); |
| InspectorTest.selectNodeWithId("node", step1); |
| |
| function step1() |
| { |
| InspectorTest.expandAndDumpSelectedElementEventListeners(step2); |
| } |
| function step2() |
| { |
| InspectorTest.selectNodeWithId("node-without-listeners", step3); |
| } |
| function step3() |
| { |
| InspectorTest.expandAndDumpSelectedElementEventListeners(step4); |
| } |
| function step4() |
| { |
| var eventListenersPane = WebInspector.panels.elements.sidebarPanes.eventListeners; |
| eventListenersPane.settingsSelectElement.selectedIndex = 1; |
| eventListenersPane._changeSetting(); |
| InspectorTest.addResult("Listeners for selected node only(should be no listeners):"); |
| InspectorTest.expandAndDumpSelectedElementEventListeners(step5); |
| } |
| function step5() |
| { |
| InspectorTest.expandAndDumpSelectedElementEventListeners(InspectorTest.completeTest); |
| } |
| } |
| |
| function onloadHandler() |
| { |
| setupEventListeners(); |
| runTest(); |
| } |
| </script> |
| </head> |
| |
| <body onload="onloadHandler()"> |
| <p> |
| Tests event listeners output in the Elements sidebar panel. |
| </p> |
| |
| <button id="node">Inspect Me</button> |
| |
| <div id="node-without-listeners"></div> |
| |
| </body> |
| </html> |