| Index: src/mirror-debugger.js | 
| diff --git a/src/mirror-debugger.js b/src/mirror-debugger.js | 
| index e1fd872f3b980f0224bb3b1741989ea3dcea2718..a997fceed67522e6f100abdbbe4e31551590aeef 100644 | 
| --- a/src/mirror-debugger.js | 
| +++ b/src/mirror-debugger.js | 
| @@ -1509,6 +1509,11 @@ FrameDetails.prototype.scopeCount = function() { | 
| }; | 
|  | 
|  | 
| +FrameDetails.prototype.stepInPositionsImpl = function() { | 
| +  return %GetStepInPositions(this.break_id_, this.frameId()); | 
| +}; | 
| + | 
| + | 
| /** | 
| * Mirror object for stack frames. | 
| * @param {number} break_id The break id in the VM for which this frame is | 
| @@ -1669,6 +1674,29 @@ FrameMirror.prototype.scope = function(index) { | 
| }; | 
|  | 
|  | 
| +FrameMirror.prototype.stepInPositions = function() { | 
| +  var script = this.func().script(); | 
| +  var funcOffset = this.func().sourcePosition_(); | 
| + | 
| +  var stepInRaw = this.details_.stepInPositionsImpl(); | 
| +  var result = []; | 
| +  if (stepInRaw) { | 
| +    for (var i = 0; i < stepInRaw.length; i++) { | 
| +      var posStruct = {}; | 
| +      var offset = script.locationFromPosition(funcOffset + stepInRaw[i], | 
| +                                               true); | 
| +      serializeLocationFields(offset, posStruct); | 
| +      var item = { | 
| +        position: posStruct | 
| +      }; | 
| +      result.push(item); | 
| +    } | 
| +  } | 
| + | 
| +  return result; | 
| +}; | 
| + | 
| + | 
| FrameMirror.prototype.evaluate = function(source, disable_break, | 
| opt_context_object) { | 
| var result = %DebugEvaluate(this.break_id_, | 
|  |