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 34a96b9a814d510c4f0bee274c99b27278743516..d6de822e61fb55b146cd1239ce26f063a1779be3 100644 |
--- a/Source/devtools/front_end/sdk/ScriptSnippetModel.js |
+++ b/Source/devtools/front_end/sdk/ScriptSnippetModel.js |
@@ -221,11 +221,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 || uiSourceCode._evaluationIndex !== evaluationIndex) |
return; |
@@ -236,19 +236,14 @@ 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); |
} |
}, |
@@ -256,7 +251,7 @@ WebInspector.ScriptSnippetModel.prototype = { |
* @param {!DebuggerAgent.ScriptId} scriptId |
* @param {!WebInspector.ExecutionContext} executionContext |
*/ |
- _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)); |
@@ -265,39 +260,66 @@ 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); |
+ var wasThrown = !!exceptionDetails; |
aandrey
2014/06/05 10:22:56
remove this var?
|
+ if (!wasThrown) |
+ 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); |
+ target.consoleModel.addMessage(consoleMessage); |
}, |
/** |