Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / sources / debugger / step-through-event-listeners.html
1 <html>
2 <head>
3 <script src="../../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../../http/tests/inspector/debugger-test.js"></script>
5 <script>
6
7 function listener1()
8 {
9 }
10
11 function listener2()
12 {
13 }
14
15 function listener3()
16 {
17 }
18
19 function addListenerAndClick()
20 {
21     var element = document.getElementById("test");
22     element.addEventListener("click", listener1, true);
23     element.addEventListener("click", listener2, true);
24     document.body.addEventListener("click", listener3, true);
25     document.body.addEventListener("click", listener3, false);
26     element.click();
27 }
28
29 function test()
30 {
31     var pane = WebInspector.showPanel("sources").sidebarPanes.eventListenerBreakpoints;
32     InspectorTest.runDebuggerTestSuite([
33         function testClickBreakpoint(next)
34         {
35             pane._setBreakpoint("listener:click");
36             InspectorTest.waitUntilPaused(paused1);
37             InspectorTest.evaluateInPageWithTimeout("addListenerAndClick()");
38
39             function paused1(callFrames)
40             {
41                 InspectorTest.captureStackTrace(callFrames);
42                 InspectorTest.resumeExecution(resumed1);
43             }
44
45             function resumed1()
46             {
47                 InspectorTest.waitUntilPaused(paused2);
48             }
49
50             function paused2(callFrames)
51             {
52                 InspectorTest.captureStackTrace(callFrames);
53                 InspectorTest.resumeExecution(resumed2);
54             }
55
56             function resumed2()
57             {
58                 InspectorTest.waitUntilPaused(paused3);
59             }
60
61             function paused3(callFrames)
62             {
63                 InspectorTest.captureStackTrace(callFrames);
64                 InspectorTest.resumeExecution(resumed3);
65             }
66
67             function resumed3()
68             {
69                 InspectorTest.waitUntilPaused(paused4);
70             }
71
72             function paused4(callFrames)
73             {
74                 InspectorTest.captureStackTrace(callFrames);
75                 pane._removeBreakpoint("listener:click");
76                 InspectorTest.resumeExecution(next);
77             }
78         }
79     ]);
80 }
81
82 </script>
83 </head>
84
85 <body onload="runTest()">
86 <p>
87 Test that debugger will pause in all event listeners when corresponding breakpoint is set.
88 <a href="https://bugs.webkit.org/show_bug.cgi?id=77331">Bug 77331.</a>
89 </p>
90
91 <input type=button id="test"></input>
92
93 </body>
94 </html>