Index: src/debug-debugger.js |
diff --git a/src/debug-debugger.js b/src/debug-debugger.js |
index dcff07cc13c62bef65f24b54878846374091bbe4..1adf73ac71414753d207a7fff81eb543cca98e02 100644 |
--- a/src/debug-debugger.js |
+++ b/src/debug-debugger.js |
@@ -112,8 +112,8 @@ var debugger_flags = { |
// Create a new break point object and add it to the list of break points. |
-function MakeBreakPoint(source_position, opt_line, opt_column, opt_script_break_point) { |
- var break_point = new BreakPoint(source_position, opt_line, opt_column, opt_script_break_point); |
+function MakeBreakPoint(source_position, opt_script_break_point) { |
+ var break_point = new BreakPoint(source_position, opt_script_break_point); |
break_points.push(break_point); |
return break_point; |
} |
@@ -123,10 +123,8 @@ function MakeBreakPoint(source_position, opt_line, opt_column, opt_script_break_ |
// NOTE: This object does not have a reference to the function having break |
// point as this would cause function not to be garbage collected when it is |
// not used any more. We do not want break points to keep functions alive. |
-function BreakPoint(source_position, opt_line, opt_column, opt_script_break_point) { |
+function BreakPoint(source_position, opt_script_break_point) { |
this.source_position_ = source_position; |
- this.source_line_ = opt_line; |
- this.source_column_ = opt_column; |
if (opt_script_break_point) { |
this.script_break_point_ = opt_script_break_point; |
} else { |
@@ -424,7 +422,7 @@ ScriptBreakPoint.prototype.set = function (script) { |
if (position === null) return; |
// Create a break point object and set the break point. |
- break_point = MakeBreakPoint(position, this.line(), this.column(), this); |
+ break_point = MakeBreakPoint(position, this); |
break_point.setIgnoreCount(this.ignoreCount()); |
var actual_position = %SetScriptBreakPoint(script, position, break_point); |
if (IS_UNDEFINED(actual_position)) { |
@@ -639,7 +637,7 @@ Debug.setBreakPoint = function(func, opt_line, opt_column, opt_condition) { |
opt_condition); |
} else { |
// Set a break point directly on the function. |
- var break_point = MakeBreakPoint(source_position, opt_line, opt_column); |
+ var break_point = MakeBreakPoint(source_position); |
var actual_position = |
%SetFunctionBreakPoint(func, source_position, break_point); |
actual_position += this.sourcePosition(func); |
@@ -652,6 +650,25 @@ Debug.setBreakPoint = function(func, opt_line, opt_column, opt_condition) { |
}; |
+Debug.setBreakPointByScriptIdAndPosition = function(script_id, position, |
+ condition, enabled) |
+{ |
+ break_point = MakeBreakPoint(position); |
+ break_point.setCondition(condition); |
+ if (!enabled) |
+ break_point.disable(); |
+ var scripts = this.scripts(); |
+ for (var i = 0; i < scripts.length; i++) { |
+ if (script_id == scripts[i].id) { |
+ break_point.actual_position = %SetScriptBreakPoint(scripts[i], position, |
+ break_point); |
+ break; |
+ } |
+ } |
+ return break_point; |
+}; |
+ |
+ |
Debug.enableBreakPoint = function(break_point_number) { |
var break_point = this.findBreakPoint(break_point_number, false); |
// Only enable if the breakpoint hasn't been deleted: |