Chromium Code Reviews| Index: Source/devtools/front_end/sdk/ScriptSnippetModel.js |
| diff --git a/Source/devtools/front_end/sdk/ScriptSnippetModel.js b/Source/devtools/front_end/sdk/ScriptSnippetModel.js |
| index 248ded46803a8bc8f3325f37958ccae53507c6ef..a7a75fd02f6e8fc6cf07d7275ae7199cba68e0fb 100644 |
| --- a/Source/devtools/front_end/sdk/ScriptSnippetModel.js |
| +++ b/Source/devtools/front_end/sdk/ScriptSnippetModel.js |
| @@ -245,11 +245,11 @@ WebInspector.ScriptSnippetModel.prototype = { |
| /** |
| * @param {!WebInspector.Target} target |
| * @param {?string} error |
| - * @param {string=} scriptId |
| - * @param {string=} syntaxErrorMessage |
| + * @param {!DebuggerAgent.ScriptId=} scriptId |
| + * @param {?DebuggerAgent.ExceptionDetails=} exceptionDetails |
| * @this {WebInspector.ScriptSnippetModel} |
| */ |
| - function compileCallback(target, error, scriptId, syntaxErrorMessage) |
| + function compileCallback(target, error, scriptId, exceptionDetails) |
| { |
| if (!uiSourceCode || this._mappingForTarget.get(target).evaluationIndex(uiSourceCode) !== evaluationIndex) |
| return; |
| @@ -260,27 +260,23 @@ WebInspector.ScriptSnippetModel.prototype = { |
| } |
| if (!scriptId) { |
| - var consoleMessage = new WebInspector.ConsoleMessage( |
| - target, |
| - WebInspector.ConsoleMessage.MessageSource.JS, |
| - WebInspector.ConsoleMessage.MessageLevel.Error, |
| - syntaxErrorMessage || ""); |
| - target.consoleModel.addMessage(consoleMessage); |
| + this._printRunOrCompileScriptResultFailure(target, exceptionDetails, evaluationUrl); |
| return; |
| } |
| var breakpointLocations = this._removeBreakpoints(uiSourceCode); |
| this._restoreBreakpoints(uiSourceCode, breakpointLocations); |
| - this._runScript(scriptId, executionContext); |
| + this._runScript(scriptId, executionContext, evaluationUrl); |
| } |
| }, |
| /** |
| * @param {!DebuggerAgent.ScriptId} scriptId |
| * @param {!WebInspector.ExecutionContext} executionContext |
| + * @param {?string=} sourceURL |
| */ |
| - _runScript: function(scriptId, executionContext) |
| + _runScript: function(scriptId, executionContext, sourceURL) |
| { |
| var target = executionContext.target(); |
| target.debuggerAgent().runScript(scriptId, executionContext.id, "console", false, runCallback.bind(this, target)); |
| @@ -289,39 +285,65 @@ WebInspector.ScriptSnippetModel.prototype = { |
| * @param {!WebInspector.Target} target |
| * @param {?string} error |
| * @param {?RuntimeAgent.RemoteObject} result |
| - * @param {boolean=} wasThrown |
| + * @param {?DebuggerAgent.ExceptionDetails=} exceptionDetails |
| * @this {WebInspector.ScriptSnippetModel} |
| */ |
| - function runCallback(target, error, result, wasThrown) |
| + function runCallback(target, error, result, exceptionDetails) |
| { |
| if (error) { |
| console.error(error); |
| return; |
| } |
| - this._printRunScriptResult(target, result, wasThrown); |
| + if (!exceptionDetails) |
| + this._printRunScriptResult(target, result, sourceURL); |
| + else |
| + this._printRunOrCompileScriptResultFailure(target, exceptionDetails, sourceURL); |
| } |
| }, |
| /** |
| * @param {!WebInspector.Target} target |
| * @param {?RuntimeAgent.RemoteObject} result |
| - * @param {boolean=} wasThrown |
| + * @param {?string=} sourceURL |
| */ |
| - _printRunScriptResult: function(target, result, wasThrown) |
| + _printRunScriptResult: function(target, result, sourceURL) |
| { |
| - var level = (wasThrown ? WebInspector.ConsoleMessage.MessageLevel.Error : WebInspector.ConsoleMessage.MessageLevel.Log); |
| - var message = new WebInspector.ConsoleMessage(target, |
| + var consoleMessage = new WebInspector.ConsoleMessage( |
| + target, |
| WebInspector.ConsoleMessage.MessageSource.JS, |
| - level, |
| + WebInspector.ConsoleMessage.MessageLevel.Log, |
| "", |
| undefined, |
| + sourceURL, |
| undefined, |
| undefined, |
| undefined, |
| + [result], |
| + undefined); |
| + target.consoleModel.addMessage(consoleMessage); |
| + }, |
| + |
| + /** |
| + * @param {!WebInspector.Target} target |
| + * @param {?DebuggerAgent.ExceptionDetails=} exceptionDetails |
| + * @param {?string=} sourceURL |
| + */ |
| + _printRunOrCompileScriptResultFailure: function(target, exceptionDetails, sourceURL) |
| + { |
| + var consoleMessage = new WebInspector.ConsoleMessage( |
| + target, |
| + exceptionDetails.source, |
| + WebInspector.ConsoleMessage.MessageLevel.Error, |
| + exceptionDetails.text, |
| + undefined, |
| + sourceURL, |
| + exceptionDetails.line, |
| + exceptionDetails.column, |
| + undefined, |
| undefined, |
| - [result]); |
| - target.consoleModel.addMessage(message); |
| + exceptionDetails.stackTrace); |
|
aandrey
2014/07/19 13:15:59
We also need to pass Console.AsyncStackTrace with
|
| + target.consoleModel.addMessage(consoleMessage); |
| }, |
| /** |