Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Side by Side Diff: Source/bindings/core/v8/DebuggerScript.js

Issue 729513002: DevTools: Gracefully ignore unknown variable scopes. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: fixed test Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 70
71 DebuggerScript.getFunctionScopes = function(fun) 71 DebuggerScript.getFunctionScopes = function(fun)
72 { 72 {
73 var mirror = MakeMirror(fun); 73 var mirror = MakeMirror(fun);
74 var count = mirror.scopeCount(); 74 var count = mirror.scopeCount();
75 if (count == 0) 75 if (count == 0)
76 return null; 76 return null;
77 var result = []; 77 var result = [];
78 for (var i = 0; i < count; i++) { 78 for (var i = 0; i < count; i++) {
79 var scopeDetails = mirror.scope(i).details(); 79 var scopeDetails = mirror.scope(i).details();
80 result[i] = { 80 var scopeObject = DebuggerScript._buildScopeObject(scopeDetails.type(), scopeDetails.object());
81 if (!scopeObject)
82 continue;
83 result.push({
81 type: scopeDetails.type(), 84 type: scopeDetails.type(),
82 object: DebuggerScript._buildScopeObject(scopeDetails.type(), scopeD etails.object()) 85 object: scopeObject
83 }; 86 });
84 } 87 }
85 return result; 88 return result;
86 } 89 }
87 90
88 DebuggerScript.getCollectionEntries = function(object) 91 DebuggerScript.getCollectionEntries = function(object)
89 { 92 {
90 var mirror = MakeMirror(object, true /* transient */); 93 var mirror = MakeMirror(object, true /* transient */);
91 if (mirror.isMap()) 94 if (mirror.isMap())
92 return mirror.entries(); 95 return mirror.entries();
93 if (mirror.isSet() || mirror.isIterator()) { 96 if (mirror.isSet() || mirror.isIterator()) {
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 378
376 // Calculated lazily. 379 // Calculated lazily.
377 var scopeChain; 380 var scopeChain;
378 var funcMirror; 381 var funcMirror;
379 var location; 382 var location;
380 383
381 function lazyScopeChain() 384 function lazyScopeChain()
382 { 385 {
383 if (!scopeChain) { 386 if (!scopeChain) {
384 scopeChain = []; 387 scopeChain = [];
385 for (var i = 0; i < scopeObjects.length; ++i) 388 for (var i = 0, j = 0; i < scopeObjects.length; ++i) {
386 scopeChain.push(DebuggerScript._buildScopeObject(scopeTypes[i], scopeObjects[i])); 389 var scopeObject = DebuggerScript._buildScopeObject(scopeTypes[i] , scopeObjects[i]);
390 if (scopeObject) {
391 scopeTypes[j] = scopeTypes[i];
392 scopeChain[j] = scopeObject;
393 ++j;
394 }
395 }
396 scopeTypes.length = scopeChain.length;
387 scopeObjects = null; // Free for GC. 397 scopeObjects = null; // Free for GC.
388 } 398 }
389 return scopeChain; 399 return scopeChain;
390 } 400 }
391 401
402 function lazyScopeTypes()
403 {
404 if (!scopeChain)
405 lazyScopeChain();
406 return scopeTypes;
407 }
408
392 function ensureFuncMirror() 409 function ensureFuncMirror()
393 { 410 {
394 if (!funcMirror) { 411 if (!funcMirror) {
395 funcMirror = MakeMirror(funcObject); 412 funcMirror = MakeMirror(funcObject);
396 if (!funcMirror.isFunction()) 413 if (!funcMirror.isFunction())
397 funcMirror = new UnresolvedFunctionMirror(funcObject); 414 funcMirror = new UnresolvedFunctionMirror(funcObject);
398 } 415 }
399 return funcMirror; 416 return funcMirror;
400 } 417 }
401 418
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 } 500 }
484 501
485 return { 502 return {
486 "sourceID": sourceID, 503 "sourceID": sourceID,
487 "line": line, 504 "line": line,
488 "column": column, 505 "column": column,
489 "scriptName": scriptName, 506 "scriptName": scriptName,
490 "functionName": functionName, 507 "functionName": functionName,
491 "thisObject": thisObject, 508 "thisObject": thisObject,
492 "scopeChain": lazyScopeChain, 509 "scopeChain": lazyScopeChain,
493 "scopeType": scopeTypes, 510 "scopeType": lazyScopeTypes,
494 "evaluate": evaluate, 511 "evaluate": evaluate,
495 "caller": callerFrame, 512 "caller": callerFrame,
496 "restart": restart, 513 "restart": restart,
497 "setVariableValue": setVariableValue, 514 "setVariableValue": setVariableValue,
498 "stepInPositions": stepInPositions, 515 "stepInPositions": stepInPositions,
499 "isAtReturn": isAtReturn, 516 "isAtReturn": isAtReturn,
500 "returnValue": returnValue 517 "returnValue": returnValue
501 }; 518 };
502 } 519 }
503 520
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 "parentPromise": eventData.parentPromise().value(), 556 "parentPromise": eventData.parentPromise().value(),
540 "status": eventData.status() 557 "status": eventData.status()
541 }; 558 };
542 } 559 }
543 560
544 // We never resolve Mirror by its handle so to avoid memory leaks caused by Mirr ors in the cache we disable it. 561 // We never resolve Mirror by its handle so to avoid memory leaks caused by Mirr ors in the cache we disable it.
545 ToggleMirrorCache(false); 562 ToggleMirrorCache(false);
546 563
547 return DebuggerScript; 564 return DebuggerScript;
548 })(); 565 })();
OLDNEW
« no previous file with comments | « LayoutTests/inspector/console/console-error-on-call-frame-expected.txt ('k') | Source/core/inspector/JavaScriptCallFrame.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698