Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 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 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 238 var mapping = this._mappingForTarget.get(target); | 238 var mapping = this._mappingForTarget.get(target); |
| 239 mapping._setEvaluationIndex(evaluationIndex, uiSourceCode); | 239 mapping._setEvaluationIndex(evaluationIndex, uiSourceCode); |
| 240 var evaluationUrl = mapping._evaluationSourceURL(uiSourceCode); | 240 var evaluationUrl = mapping._evaluationSourceURL(uiSourceCode); |
| 241 var expression = uiSourceCode.workingCopy(); | 241 var expression = uiSourceCode.workingCopy(); |
| 242 target.consoleModel.show(); | 242 target.consoleModel.show(); |
| 243 target.debuggerAgent().compileScript(expression, evaluationUrl, executio nContext.id, compileCallback.bind(this, target)); | 243 target.debuggerAgent().compileScript(expression, evaluationUrl, executio nContext.id, compileCallback.bind(this, target)); |
| 244 | 244 |
| 245 /** | 245 /** |
| 246 * @param {!WebInspector.Target} target | 246 * @param {!WebInspector.Target} target |
| 247 * @param {?string} error | 247 * @param {?string} error |
| 248 * @param {string=} scriptId | 248 * @param {!DebuggerAgent.ScriptId=} scriptId |
| 249 * @param {string=} syntaxErrorMessage | 249 * @param {?DebuggerAgent.ExceptionDetails=} exceptionDetails |
| 250 * @this {WebInspector.ScriptSnippetModel} | 250 * @this {WebInspector.ScriptSnippetModel} |
| 251 */ | 251 */ |
| 252 function compileCallback(target, error, scriptId, syntaxErrorMessage) | 252 function compileCallback(target, error, scriptId, exceptionDetails) |
| 253 { | 253 { |
| 254 if (!uiSourceCode || this._mappingForTarget.get(target).evaluationIn dex(uiSourceCode) !== evaluationIndex) | 254 if (!uiSourceCode || this._mappingForTarget.get(target).evaluationIn dex(uiSourceCode) !== evaluationIndex) |
| 255 return; | 255 return; |
| 256 | 256 |
| 257 if (error) { | 257 if (error) { |
| 258 console.error(error); | 258 console.error(error); |
| 259 return; | 259 return; |
| 260 } | 260 } |
| 261 | 261 |
| 262 if (!scriptId) { | 262 if (!scriptId) { |
| 263 var consoleMessage = new WebInspector.ConsoleMessage( | 263 this._printRunOrCompileScriptResultFailure(target, exceptionDeta ils, evaluationUrl); |
| 264 target, | |
| 265 WebInspector.ConsoleMessage.MessageSource.JS, | |
| 266 WebInspector.ConsoleMessage.MessageLevel.Error, | |
| 267 syntaxErrorMessage || ""); | |
| 268 target.consoleModel.addMessage(consoleMessage); | |
| 269 return; | 264 return; |
| 270 } | 265 } |
| 271 | 266 |
| 272 var breakpointLocations = this._removeBreakpoints(uiSourceCode); | 267 var breakpointLocations = this._removeBreakpoints(uiSourceCode); |
| 273 this._restoreBreakpoints(uiSourceCode, breakpointLocations); | 268 this._restoreBreakpoints(uiSourceCode, breakpointLocations); |
| 274 | 269 |
| 275 this._runScript(scriptId, executionContext); | 270 this._runScript(scriptId, executionContext, evaluationUrl); |
| 276 } | 271 } |
| 277 }, | 272 }, |
| 278 | 273 |
| 279 /** | 274 /** |
| 280 * @param {!DebuggerAgent.ScriptId} scriptId | 275 * @param {!DebuggerAgent.ScriptId} scriptId |
| 281 * @param {!WebInspector.ExecutionContext} executionContext | 276 * @param {!WebInspector.ExecutionContext} executionContext |
| 277 * @param {?string=} sourceURL | |
| 282 */ | 278 */ |
| 283 _runScript: function(scriptId, executionContext) | 279 _runScript: function(scriptId, executionContext, sourceURL) |
| 284 { | 280 { |
| 285 var target = executionContext.target(); | 281 var target = executionContext.target(); |
| 286 target.debuggerAgent().runScript(scriptId, executionContext.id, "console ", false, runCallback.bind(this, target)); | 282 target.debuggerAgent().runScript(scriptId, executionContext.id, "console ", false, runCallback.bind(this, target)); |
| 287 | 283 |
| 288 /** | 284 /** |
| 289 * @param {!WebInspector.Target} target | 285 * @param {!WebInspector.Target} target |
| 290 * @param {?string} error | 286 * @param {?string} error |
| 291 * @param {?RuntimeAgent.RemoteObject} result | 287 * @param {?RuntimeAgent.RemoteObject} result |
| 292 * @param {boolean=} wasThrown | 288 * @param {?DebuggerAgent.ExceptionDetails=} exceptionDetails |
| 293 * @this {WebInspector.ScriptSnippetModel} | 289 * @this {WebInspector.ScriptSnippetModel} |
| 294 */ | 290 */ |
| 295 function runCallback(target, error, result, wasThrown) | 291 function runCallback(target, error, result, exceptionDetails) |
| 296 { | 292 { |
| 297 if (error) { | 293 if (error) { |
| 298 console.error(error); | 294 console.error(error); |
| 299 return; | 295 return; |
| 300 } | 296 } |
| 301 | 297 |
| 302 this._printRunScriptResult(target, result, wasThrown); | 298 if (!exceptionDetails) |
| 299 this._printRunScriptResult(target, result, sourceURL); | |
| 300 else | |
| 301 this._printRunOrCompileScriptResultFailure(target, exceptionDeta ils, sourceURL); | |
| 303 } | 302 } |
| 304 }, | 303 }, |
| 305 | 304 |
| 306 /** | 305 /** |
| 307 * @param {!WebInspector.Target} target | 306 * @param {!WebInspector.Target} target |
| 308 * @param {?RuntimeAgent.RemoteObject} result | 307 * @param {?RuntimeAgent.RemoteObject} result |
| 309 * @param {boolean=} wasThrown | 308 * @param {?string=} sourceURL |
| 310 */ | 309 */ |
| 311 _printRunScriptResult: function(target, result, wasThrown) | 310 _printRunScriptResult: function(target, result, sourceURL) |
| 312 { | 311 { |
| 313 var level = (wasThrown ? WebInspector.ConsoleMessage.MessageLevel.Error : WebInspector.ConsoleMessage.MessageLevel.Log); | 312 var consoleMessage = new WebInspector.ConsoleMessage( |
| 314 var message = new WebInspector.ConsoleMessage(target, | 313 target, |
| 315 WebInspector.ConsoleMessage.MessageSource.JS, | 314 WebInspector.ConsoleMessage.MessageSource.JS, |
| 316 level, | 315 WebInspector.ConsoleMessage.MessageLevel.Log, |
| 317 "", | 316 "", |
| 318 undefined, | 317 undefined, |
| 318 sourceURL, | |
| 319 undefined, | |
| 319 undefined, | 320 undefined, |
| 320 undefined, | 321 undefined, |
| 321 undefined, | 322 [result], |
| 322 undefined, | 323 undefined); |
| 323 [result]); | 324 target.consoleModel.addMessage(consoleMessage); |
| 324 target.consoleModel.addMessage(message); | |
| 325 }, | 325 }, |
| 326 | 326 |
| 327 /** | 327 /** |
| 328 * @param {!WebInspector.Target} target | |
| 329 * @param {?DebuggerAgent.ExceptionDetails=} exceptionDetails | |
| 330 * @param {?string=} sourceURL | |
| 331 */ | |
| 332 _printRunOrCompileScriptResultFailure: function(target, exceptionDetails, so urceURL) | |
| 333 { | |
| 334 var consoleMessage = new WebInspector.ConsoleMessage( | |
| 335 target, | |
| 336 exceptionDetails.source, | |
| 337 WebInspector.ConsoleMessage.MessageLevel.Error, | |
| 338 exceptionDetails.text, | |
| 339 undefined, | |
| 340 sourceURL, | |
| 341 exceptionDetails.line, | |
| 342 exceptionDetails.column, | |
| 343 undefined, | |
| 344 undefined, | |
| 345 exceptionDetails.stackTrace); | |
|
aandrey
2014/07/19 13:15:59
We also need to pass Console.AsyncStackTrace with
| |
| 346 target.consoleModel.addMessage(consoleMessage); | |
| 347 }, | |
| 348 | |
| 349 /** | |
| 328 * @param {!WebInspector.UISourceCode} uiSourceCode | 350 * @param {!WebInspector.UISourceCode} uiSourceCode |
| 329 * @return {!Array.<!{breakpoint: !WebInspector.BreakpointManager.Breakpoint , uiLocation: !WebInspector.UILocation}>} | 351 * @return {!Array.<!{breakpoint: !WebInspector.BreakpointManager.Breakpoint , uiLocation: !WebInspector.UILocation}>} |
| 330 */ | 352 */ |
| 331 _removeBreakpoints: function(uiSourceCode) | 353 _removeBreakpoints: function(uiSourceCode) |
| 332 { | 354 { |
| 333 var breakpointLocations = WebInspector.breakpointManager.breakpointLocat ionsForUISourceCode(uiSourceCode); | 355 var breakpointLocations = WebInspector.breakpointManager.breakpointLocat ionsForUISourceCode(uiSourceCode); |
| 334 for (var i = 0; i < breakpointLocations.length; ++i) | 356 for (var i = 0; i < breakpointLocations.length; ++i) |
| 335 breakpointLocations[i].breakpoint.remove(); | 357 breakpointLocations[i].breakpoint.remove(); |
| 336 return breakpointLocations; | 358 return breakpointLocations; |
| 337 }, | 359 }, |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 663 this._model.deleteScriptSnippet(path); | 685 this._model.deleteScriptSnippet(path); |
| 664 }, | 686 }, |
| 665 | 687 |
| 666 __proto__: WebInspector.ContentProviderBasedProjectDelegate.prototype | 688 __proto__: WebInspector.ContentProviderBasedProjectDelegate.prototype |
| 667 } | 689 } |
| 668 | 690 |
| 669 /** | 691 /** |
| 670 * @type {!WebInspector.ScriptSnippetModel} | 692 * @type {!WebInspector.ScriptSnippetModel} |
| 671 */ | 693 */ |
| 672 WebInspector.scriptSnippetModel; | 694 WebInspector.scriptSnippetModel; |
| OLD | NEW |