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

Unified Diff: Source/devtools/front_end/sdk/ScriptSnippetModel.js

Issue 290633009: DevTools: Show detailed information for exceptions during snippet execution. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 7 months 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 side-by-side diff with in-line comments
Download patch
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..9dc6a5508bd479d83c1731ff93aff386613e268b 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.ExceptionMessage=} exceptionMessage
* @this {WebInspector.ScriptSnippetModel}
*/
- function compileCallback(target, error, scriptId, syntaxErrorMessage)
+ function compileCallback(target, error, scriptId, exceptionMessage)
{
if (!uiSourceCode || uiSourceCode._evaluationIndex !== evaluationIndex)
return;
@@ -238,9 +238,16 @@ WebInspector.ScriptSnippetModel.prototype = {
if (!scriptId) {
var consoleMessage = new WebInspector.ConsoleMessage(
target,
- WebInspector.ConsoleMessage.MessageSource.JS,
+ exceptionMessage.source,
WebInspector.ConsoleMessage.MessageLevel.Error,
- syntaxErrorMessage || "");
+ exceptionMessage.text || "",
+ undefined,
+ evaluationUrl,
+ exceptionMessage.line,
+ exceptionMessage.column,
+ undefined,
+ undefined,
+ exceptionMessage.stackTrace);
target.consoleModel.addMessage(consoleMessage);
return;
}
@@ -248,7 +255,7 @@ WebInspector.ScriptSnippetModel.prototype = {
var breakpointLocations = this._removeBreakpoints(uiSourceCode);
this._restoreBreakpoints(uiSourceCode, breakpointLocations);
- this._runScript(scriptId, executionContext);
+ this._runScript(scriptId, executionContext, evaluationUrl);
}
},
@@ -256,7 +263,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 +272,43 @@ WebInspector.ScriptSnippetModel.prototype = {
* @param {!WebInspector.Target} target
* @param {?string} error
* @param {?RuntimeAgent.RemoteObject} result
- * @param {boolean=} wasThrown
+ * @param {?DebuggerAgent.ExceptionMessage=} exceptionMessage
* @this {WebInspector.ScriptSnippetModel}
*/
- function runCallback(target, error, result, wasThrown)
+ function runCallback(target, error, result, exceptionMessage)
{
if (error) {
console.error(error);
return;
}
- this._printRunScriptResult(target, result, wasThrown);
+ this._printRunScriptResult(target, result, sourceURL, exceptionMessage);
}
},
/**
* @param {!WebInspector.Target} target
* @param {?RuntimeAgent.RemoteObject} result
- * @param {boolean=} wasThrown
+ * @param {?string=} sourceURL
+ * @param {?DebuggerAgent.ExceptionMessage=} exceptionMessage
*/
- _printRunScriptResult: function(target, result, wasThrown)
+ _printRunScriptResult: function(target, result, sourceURL, exceptionMessage)
{
+ var wasThrown = !!exceptionMessage;
var level = (wasThrown ? WebInspector.ConsoleMessage.MessageLevel.Error : WebInspector.ConsoleMessage.MessageLevel.Log);
- var message = new WebInspector.ConsoleMessage(target,
+ var consoleMessage = new WebInspector.ConsoleMessage(
vsevik 2014/05/19 12:40:23 This is hard to read. Let's split this into two if
+ target,
WebInspector.ConsoleMessage.MessageSource.JS,
level,
- "",
+ (wasThrown ? exceptionMessage.text : ""),
undefined,
+ sourceURL,
+ (wasThrown ? exceptionMessage.line : undefined),
+ (wasThrown ? exceptionMessage.column : undefined),
undefined,
- undefined,
- undefined,
- undefined,
- [result]);
- target.consoleModel.addMessage(message);
+ (wasThrown ? undefined : [result]),
+ (wasThrown ? exceptionMessage.stackTrace : undefined));
+ target.consoleModel.addMessage(consoleMessage);
},
/**

Powered by Google App Engine
This is Rietveld 408576698