blob: cdbd46a025f254700dc55f3830c513d508668ced [file] [log] [blame]
<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>