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

Unified Diff: third_party/WebKit/LayoutTests/inspector-protocol/debugger/stepping-with-blackbox-pattern.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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/inspector-protocol/debugger/stepping-with-blackbox-pattern.html
diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/debugger/stepping-with-blackbox-pattern.html b/third_party/WebKit/LayoutTests/inspector-protocol/debugger/stepping-with-blackbox-pattern.html
new file mode 100644
index 0000000000000000000000000000000000000000..2492eff51ddc19065448c6f9378c1444c89627f3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/inspector-protocol/debugger/stepping-with-blackbox-pattern.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<script type="text/javascript" src="../../http/tests/inspector-protocol/inspector-protocol-test.js"></script>
+<script>
+function foo()
+{
+ debugger;
+ return 239;
+}
+//# sourceURL=foo.js
+</script>
+<script>
+function bar()
+{
+ var a = 42;
+ var t = foo();
+ return a * t;
+}
+//# sourceURL=bar.js
+</script>
+<script>
+function baz()
+{
+ var a = 42;
+ var t = bar();
+ return a * t;
+}
+//# sourceURL=baz.js
+</script>
+<script>
+function qwe()
+{
+ var a = 42;
+ var t = baz();
+ return a * t;
+}
+</script>
+<script>
+function testFunction()
+{
+ var a = qwe();
+ var c = qwe();
+ return a * c;
+}
+</script>
+<script>
+
+function test()
+{
+ InspectorTest.eventHandler["Debugger.paused"] = runAction;
+ InspectorTest.eventHandler["Debugger.scriptParsed"] = function (messageObject) {
+ // InspectorTest.log(JSON.stringify(messageObject));
+ }
+ InspectorTest.sendCommandOrDie("Debugger.enable", {}, addBlackboxPatterns);
+
+ var patterns = [ [{
+ url: "bar.js"
+ }, {
+ url: "baz.js"
+ }, {
+ hash: "E787352377FB9E71BB7083A5DB0CA9FA9584E6F2"
+ }], [{
+ regexp: "ba(r|z)\\.js"
+ }, {
+ hash: "E787352377FB9E71BB7083A5DB0CA9FA9584E6F2"
+ }]];
+
+ var actions = [];
+
+ function addBlackboxPatterns()
+ {
+ var pattern = patterns.shift();
+ if (!pattern) {
+ InspectorTest.completeTest();
+ return;
+ }
+ InspectorTest.log("Test pattern: " + JSON.stringify(pattern));
+ InspectorTest.sendCommandOrDie("Debugger.addBlackboxPatterns", { patterns: pattern }, callTestFunction);
+ }
+
+ function callTestFunction(response)
+ {
+ actions = [ "print", "stepOut", "print", "stepInto", "print" ];
+ InspectorTest.evaluateInInspectedPage("setTimeout(testFunction, 0);");
+ }
+
+ function runAction(response)
+ {
+ var action = actions.shift();
+ if (!action) {
+ InspectorTest.sendCommandOrDie("Debugger.resume", {}, addBlackboxPatterns);
+ return;
+ }
+
+ if (action === "print") {
+ printCallFrames(response.params.callFrames);
+ runAction({});
+ } else {
+ InspectorTest.log("action: " + action);
+ InspectorTest.sendCommandOrDie("Debugger." + action, {});
+ }
+ }
+
+ function printCallFrames(callFrames)
+ {
+ var topCallFrame = callFrames[0];
+ for (var callFrame of callFrames)
+ InspectorTest.log(callFrame.functionName + ': ' + callFrame.location.lineNumber + ":" + callFrame.location.columnNumber);
+ InspectorTest.log("");
+ }
+}
+</script>
+</head>
+<body onload="runTest()">
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698