3 <script src="../../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../../http/tests/inspector/debugger-test.js"></script>
7 function testElementClicked()
12 function addListenerAndClick()
14 var element = document.getElementById("test");
15 element.addEventListener("click", testElementClicked, true);
24 function addLoadListeners()
26 var xhr = new XMLHttpRequest();
27 xhr.onload = loadCallback;
28 xhr.onerror = loadCallback;
29 xhr.open("GET", "http://localhost/", true);
31 var img = new Image();
33 img.onerror = sendXHR;
34 img.src = "foo/bar/dummy";
42 function loadCallback()
49 var video = document.getElementById("video");
50 video.addEventListener("play", onVideoPlay, false);
54 function onVideoPlay()
61 WebInspector.inspectorView.showPanel("sources");
62 var pane = WebInspector.panels.sources.sidebarPanes.eventListenerBreakpoints;
63 InspectorTest.runDebuggerTestSuite([
64 function testClickBreakpoint(next)
66 pane._setBreakpoint("listener:click");
67 InspectorTest.waitUntilPaused(paused);
68 InspectorTest.evaluateInPageWithTimeout("addListenerAndClick()");
70 function paused(callFrames, reason, breakpointIds, asyncStackTrace, auxData)
72 InspectorTest.captureStackTrace(callFrames);
73 printEventTargetName(auxData);
74 pane._removeBreakpoint("listener:click");
75 InspectorTest.resumeExecution(resumed);
80 InspectorTest.evaluateInPage("addListenerAndClick()", next);
84 function testTimerFiredBreakpoint(next)
86 pane._setBreakpoint("instrumentation:timerFired");
87 InspectorTest.waitUntilPaused(paused);
88 InspectorTest.evaluateInPage("setTimeout(timerFired, 10)");
90 function paused(callFrames)
92 InspectorTest.captureStackTrace(callFrames);
93 pane._removeBreakpoint("instrumentation:timerFired");
94 InspectorTest.resumeExecution(next);
98 function testLoadBreakpointOnXHR(next)
100 pane._setBreakpoint("listener:load", ["xmlHTTPrequest"]); // test case-insensitive match
101 pane._setBreakpoint("listener:error", ["XMLHttpRequest"]);
102 InspectorTest.waitUntilPaused(paused);
103 InspectorTest.evaluateInPageWithTimeout("addLoadListeners()");
105 function paused(callFrames, reason, breakpointIds, asyncStackTrace, auxData)
107 InspectorTest.captureStackTrace(callFrames);
108 printEventTargetName(auxData);
109 pane._removeBreakpoint("listener:load", ["XMLHttpRequest"]);
110 pane._removeBreakpoint("listener:error", ["xmlHTTPrequest"]);
111 InspectorTest.resumeExecution(resumed);
116 InspectorTest.evaluateInPage("addLoadListeners()", next);
120 function testMediaEventBreakpoint(next)
122 pane._setBreakpoint("listener:play", ["audio", "video"]);
123 InspectorTest.waitUntilPaused(paused);
124 InspectorTest.evaluateInPageWithTimeout("playVideo()");
126 function paused(callFrames, reason, breakpointIds, asyncStackTrace, auxData)
128 InspectorTest.captureStackTrace(callFrames);
129 printEventTargetName(auxData);
130 pane._removeBreakpoint("listener:play", ["audio", "video"]);
131 InspectorTest.resumeExecution(next);
136 function printEventTargetName(auxData)
138 var targetName = auxData && auxData.targetName;
140 InspectorTest.addResult("Event target: " + targetName);
142 InspectorTest.addResult("FAIL: No event target name received!");
149 <body onload="runTest()">
151 Tests event listener breakpoints.
154 <input type=button id="test"></input>
155 <video id="video" src="../../../media/content/test.ogv"></video>