blob: 9246f42d69c70ed1542488f9a20eab90c04f642f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// Frame.prototype.script for eval frames.
var g = newGlobal({newCompartment: true});
var dbg = new Debugger(g);
// Apply |f| to each frame that is |skip| frames up from each frame that
// executes a 'debugger' statement when evaluating |code| in the global g.
function ApplyToFrameScript(code, skip, f) {
dbg.onDebuggerStatement = function (frame) {
while (skip-- > 0)
frame = frame.older;
assertEq(frame.type, "eval");
f(frame.script);
};
g.eval(code);
}
ApplyToFrameScript('debugger;', 0,
function (script) {
assertEq(script instanceof Debugger.Script, true);
});
ApplyToFrameScript("(function () { eval('debugger;'); })();", 0,
function (script) {
assertEq(script instanceof Debugger.Script, true);
});
|