OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 if (maximumLimit && maximumLimit < frameCount) | 221 if (maximumLimit && maximumLimit < frameCount) |
222 frameCount = maximumLimit; | 222 frameCount = maximumLimit; |
223 var topFrame = undefined; | 223 var topFrame = undefined; |
224 for (var i = frameCount - 1; i >= 0; i--) { | 224 for (var i = frameCount - 1; i >= 0; i--) { |
225 var frameMirror = execState.frame(i); | 225 var frameMirror = execState.frame(i); |
226 topFrame = DebuggerScript._frameMirrorToJSCallFrame(frameMirror, topFram
e, scopeDetailsLevel); | 226 topFrame = DebuggerScript._frameMirrorToJSCallFrame(frameMirror, topFram
e, scopeDetailsLevel); |
227 } | 227 } |
228 return topFrame; | 228 return topFrame; |
229 } | 229 } |
230 | 230 |
| 231 DebuggerScript.currentCallFrameByIndex = function(execState, index) |
| 232 { |
| 233 if (index < 0) |
| 234 return undefined; |
| 235 var frameCount = execState.frameCount(); |
| 236 if (index >= frameCount) |
| 237 return undefined; |
| 238 return DebuggerScript._frameMirrorToJSCallFrame(execState.frame(index), unde
fined, DebuggerScript.ScopeInfoDetails.NoScopes); |
| 239 } |
| 240 |
231 DebuggerScript.stepIntoStatement = function(execState) | 241 DebuggerScript.stepIntoStatement = function(execState) |
232 { | 242 { |
233 execState.prepareStep(Debug.StepAction.StepIn, 1); | 243 execState.prepareStep(Debug.StepAction.StepIn, 1); |
234 } | 244 } |
235 | 245 |
236 DebuggerScript.stepOverStatement = function(execState, callFrame) | 246 DebuggerScript.stepOverStatement = function(execState, callFrame) |
237 { | 247 { |
238 execState.prepareStep(Debug.StepAction.StepNext, 1); | 248 execState.prepareStep(Debug.StepAction.StepNext, 1); |
239 } | 249 } |
240 | 250 |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 break; | 516 break; |
507 } | 517 } |
508 return result; | 518 return result; |
509 } | 519 } |
510 | 520 |
511 // We never resolve Mirror by its handle so to avoid memory leaks caused by Mirr
ors in the cache we disable it. | 521 // We never resolve Mirror by its handle so to avoid memory leaks caused by Mirr
ors in the cache we disable it. |
512 ToggleMirrorCache(false); | 522 ToggleMirrorCache(false); |
513 | 523 |
514 return DebuggerScript; | 524 return DebuggerScript; |
515 })(); | 525 })(); |
OLD | NEW |