61 lines
2.1 KiB
HTML
61 lines
2.1 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../http/tests/inspector/resources/protocol-test.js"></script>
|
|
<script src="resources/breakpoint.js"></script>
|
|
<script>
|
|
function runBreakpointWithCondition()
|
|
{
|
|
// The debugger should hit a breakpoint inside the breakpointWithCondition call.
|
|
breakpointWithCondition(1, 2);
|
|
// If we get here it means that the debugger was disconnected and the execution continued as usual.
|
|
log("PASS: Test did not crash after debugger disconnected.");
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
// This function is called by the breakpoint condition.
|
|
function disconnect()
|
|
{
|
|
log("Closing the inspector.");
|
|
window.internals.closeDummyInspectorFrontend();
|
|
// Throwing an exception will make the debugger execute some code using a dead context.
|
|
// Test passes if the debugger is not crashing.
|
|
throw new Error();
|
|
}
|
|
|
|
function test()
|
|
{
|
|
InspectorProtocol.eventHandler["Debugger.scriptParsed"] = function(messageObject)
|
|
{
|
|
if (/resources\/breakpoint\.js$/.test(messageObject.params.url)) {
|
|
ProtocolTest.log("Found breakpoint.js");
|
|
var breakpoint = {
|
|
location: {
|
|
scriptId: messageObject.params.scriptId,
|
|
lineNumber: 8,
|
|
columnNumber: 0
|
|
},
|
|
options: {
|
|
condition: "disconnect()"
|
|
}
|
|
};
|
|
InspectorProtocol.sendCommand("Debugger.setBreakpoint", breakpoint, InspectorProtocol.checkForError);
|
|
InspectorProtocol.sendCommand("Runtime.evaluate", {expression: "runBreakpointWithCondition()"});
|
|
}
|
|
}
|
|
|
|
InspectorProtocol.eventHandler["Debugger.paused"] = function(messageObject)
|
|
{
|
|
ProtocolTest.log("FAIL: Paused in debugger: reason = \"" + messageObject.params.reason + "\"");
|
|
ProtocolTest.completeTest();
|
|
}
|
|
|
|
InspectorProtocol.sendCommand("Debugger.enable", {});
|
|
InspectorProtocol.sendCommand("Debugger.setBreakpointsActive", {active: true});
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
<p>Debugger.setBreakpoint with an action that throws an exception should not pause the debugger.</p>
|
|
</body>
|
|
</html>
|