| Index: src/debug-delay.js | 
| =================================================================== | 
| --- src/debug-delay.js	(revision 1940) | 
| +++ src/debug-delay.js	(working copy) | 
| @@ -1588,6 +1588,12 @@ | 
| return response.failed('Argument "handles" missing'); | 
| } | 
|  | 
| +  // Set 'includeSource' option for script lookup. | 
| +  if (!IS_UNDEFINED(request.arguments.includeSource)) { | 
| +    includeSource = %ToBoolean(request.arguments.includeSource); | 
| +    response.setOption('includeSource', includeSource); | 
| +  } | 
| + | 
| // Lookup handles. | 
| var mirrors = {}; | 
| for (var i = 0; i < handles.length; i++) { | 
| @@ -1684,6 +1690,7 @@ | 
| DebugCommandProcessor.prototype.scriptsRequest_ = function(request, response) { | 
| var types = ScriptTypeFlag(Debug.ScriptType.Normal); | 
| var includeSource = false; | 
| +  var idsToInclude = null; | 
| if (request.arguments) { | 
| // Pull out arguments. | 
| if (!IS_UNDEFINED(request.arguments.types)) { | 
| @@ -1697,6 +1704,14 @@ | 
| includeSource = %ToBoolean(request.arguments.includeSource); | 
| response.setOption('includeSource', includeSource); | 
| } | 
| + | 
| +    if (IS_ARRAY(request.arguments.ids)) { | 
| +      idsToInclude = {}; | 
| +      var ids = request.arguments.ids; | 
| +      for (var i = 0; i < ids.length; i++) { | 
| +        idsToInclude[ids[i]] = true; | 
| +      } | 
| +    } | 
| } | 
|  | 
| // Collect all scripts in the heap. | 
| @@ -1705,6 +1720,9 @@ | 
| response.body = []; | 
|  | 
| for (var i = 0; i < scripts.length; i++) { | 
| +    if (idsToInclude && !idsToInclude[scripts[i].id]) { | 
| +      continue; | 
| +    } | 
| if (types & ScriptTypeFlag(scripts[i].type)) { | 
| response.body.push(MakeMirror(scripts[i])); | 
| } | 
|  |