Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: third_party/WebKit/LayoutTests/inspector-protocol/debugger/stepping-with-blackbox-ranges.html

Issue 1754483002: [DevTools] Added setBlackboxPatterns method to protocol (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@provide-hash-for-anonymous-scripts
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <html> 1 <html>
2 <head> 2 <head>
3 <script type="text/javascript" src="../../http/tests/inspector-protocol/inspecto r-protocol-test.js"></script> 3 <script type="text/javascript" src="../../http/tests/inspector-protocol/inspecto r-protocol-test.js"></script>
4 <script type="text/javascript" src="resources/blackboxed.js"></script> 4 <script type="text/javascript" src="resources/blackboxed.js"></script>
5 <script type="text/javascript" src="resources/mixed.js"></script> 5 <script type="text/javascript" src="resources/mixed.js"></script>
6 <script> 6 <script>
7 function testFunction() 7 function testFunction()
8 { 8 {
9 notBlackboxedBoo(); // for setup ranges and stepOut 9 notBlackboxedBoo(); // for setup ranges and stepOut
10 notBlackboxedBoo(); // for stepIn 10 notBlackboxedBoo(); // for stepIn
11 } 11 }
12 12
13 function foo() 13 function foo()
14 { 14 {
15 debugger; 15 debugger;
16 return 239; 16 return 239;
17 } 17 }
18 </script> 18 </script>
19 <script> 19 <script>
20 function test() 20 function test()
21 { 21 {
22 var scriptIdToHash = new Map();
23
22 InspectorTest.eventHandler["Debugger.paused"] = setBlackboxedScriptRanges; 24 InspectorTest.eventHandler["Debugger.paused"] = setBlackboxedScriptRanges;
25 InspectorTest.eventHandler["Debugger.scriptParsed"] = scriptParsed;
23 InspectorTest.sendCommandOrDie("Debugger.enable", {}, callTestFunction); 26 InspectorTest.sendCommandOrDie("Debugger.enable", {}, callTestFunction);
24 27
28 function scriptParsed(response)
29 {
30 scriptIdToHash.set(response.params.scriptId, response.params.hash);
31 }
32
25 function callTestFunction(response) 33 function callTestFunction(response)
26 { 34 {
27 InspectorTest.evaluateInInspectedPage("setTimeout(testFunction, 0);"); 35 InspectorTest.evaluateInInspectedPage("setTimeout(testFunction, 0);");
28 } 36 }
29 37
30 function setBlackboxedScriptRanges(response) 38 function setBlackboxedScriptRanges(response)
31 { 39 {
32 var callFrames = response.params.callFrames; 40 var callFrames = response.params.callFrames;
33 printCallFrames(callFrames); 41 printCallFrames(callFrames);
34 InspectorTest.sendCommand("Debugger.setBlackboxedRanges", { 42 var hash = scriptIdToHash.get(callFrames[1].location.scriptId);
35 scriptId: callFrames[1].location.scriptId, 43 InspectorTest.sendCommand("Debugger.addBlackboxRanges", {
44 hash: hash,
36 positions: [ { line: 0, column: 0 } ] // blackbox ranges for blackbo xed.js 45 positions: [ { line: 0, column: 0 } ] // blackbox ranges for blackbo xed.js
37 }, setIncorrectRanges.bind(null, callFrames[2].location.scriptId)); 46 }, setIncorrectRanges.bind(null, callFrames[2].location.scriptId));
38 } 47 }
39 48
40 var incorrectPositions = [ 49 var incorrectPositions = [
41 [ { line: 0, column: 0 }, { line: 0, column: 0 } ], 50 [ { line: 0, column: 0 }, { line: 0, column: 0 } ],
42 [ { line: 0, column: 1 }, { line: 0, column: 0 } ], 51 [ { line: 0, column: 1 }, { line: 0, column: 0 } ],
43 [ { line: 0, column: -1 } ], 52 [ { line: 0, column: -1 } ],
44 ]; 53 ];
45 54
46 function setIncorrectRanges(scriptId, response) 55 function setIncorrectRanges(scriptId, response)
47 { 56 {
48 if (response.error) 57 if (response.error)
49 InspectorTest.log(response.error.message); 58 InspectorTest.log(response.error.message);
50 var positions = incorrectPositions.shift(); 59 var positions = incorrectPositions.shift();
51 if (!positions) { 60 if (!positions) {
52 setMixedSourceRanges(scriptId); 61 setMixedSourceRanges(scriptId);
53 return; 62 return;
54 } 63 }
55 InspectorTest.log("Try to set positions: " + JSON.stringify(positions)); 64 InspectorTest.log("Try to set positions: " + JSON.stringify(positions));
56 InspectorTest.sendCommand("Debugger.setBlackboxedRanges", { 65 InspectorTest.sendCommand("Debugger.addBlackboxRanges", {
57 scriptId: scriptId, 66 hash: scriptIdToHash.get(scriptId),
58 positions: positions 67 positions: positions
59 }, setIncorrectRanges.bind(null, scriptId)); 68 }, setIncorrectRanges.bind(null, scriptId));
60 } 69 }
61 70
62 function setMixedSourceRanges(scriptId) 71 function setMixedSourceRanges(scriptId)
63 { 72 {
64 InspectorTest.eventHandler["Debugger.paused"] = runAction; 73 InspectorTest.eventHandler["Debugger.paused"] = runAction;
65 InspectorTest.sendCommandOrDie("Debugger.setBlackboxedRanges", { 74 InspectorTest.sendCommandOrDie("Debugger.addBlackboxRanges", {
66 scriptId: scriptId, 75 hash: scriptIdToHash.get(scriptId),
67 positions: [ { line: 8, column: 0 }, { line: 15, column: 0 } ] // bl ackbox ranges for mixed.js 76 positions: [ { line: 8, column: 0 }, { line: 15, column: 0 } ] // bl ackbox ranges for mixed.js
68 }, runAction); 77 }, runAction);
69 } 78 }
70 79
71 var actions = [ "stepOut", "print", "stepOut", "print", "stepOut", "print", 80 var actions = [ "stepOut", "print", "stepOut", "print", "stepOut", "print",
72 "stepInto", "print", "stepOver", "stepInto", "print", "stepOver", "stepI nto", "print", 81 "stepInto", "print", "stepOver", "stepInto", "print", "stepOver", "stepI nto", "print",
73 "stepOver", "stepInto", "print" ]; 82 "stepOver", "stepInto", "print" ];
74 83
75 function runAction(response) 84 function runAction(response)
76 { 85 {
(...skipping 18 matching lines...) Expand all
95 for (var callFrame of callFrames) 104 for (var callFrame of callFrames)
96 InspectorTest.log(callFrame.functionName + ': ' + callFrame.location .lineNumber + ":" + callFrame.location.columnNumber); 105 InspectorTest.log(callFrame.functionName + ': ' + callFrame.location .lineNumber + ":" + callFrame.location.columnNumber);
97 InspectorTest.log(""); 106 InspectorTest.log("");
98 } 107 }
99 } 108 }
100 </script> 109 </script>
101 </head> 110 </head>
102 <body onload="runTest()"> 111 <body onload="runTest()">
103 </body> 112 </body>
104 </html> 113 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698