Index: third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js b/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js |
index 10ab001b42fb572d3f81910b1b164fed5ca4f067..59fc285185ac8b5a1196594187ce87e4288130cb 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js |
+++ b/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js |
@@ -129,7 +129,7 @@ WebInspector.ConsoleViewMessage.prototype = { |
var formattedMessage = createElement("span"); |
WebInspector.appendStyle(formattedMessage, "components/objectValue.css"); |
formattedMessage.className = "console-message-text source-code"; |
- var anchorElement = this._buildMessageAnchor(consoleMessage); |
+ var anchorElement = this._buildMessageAnchor(consoleMessage, this._linkifier); |
if (anchorElement) |
formattedMessage.appendChild(anchorElement); |
@@ -185,7 +185,7 @@ WebInspector.ConsoleViewMessage.prototype = { |
var formattedResult = createElement("span"); |
var tableElement = formattedResult.createChild("div", "console-message-formatted-table"); |
var dataGridContainer = tableElement.createChild("span"); |
- tableElement.appendChild(this._formatParameter(table, true, false)); |
+ tableElement.appendChild(this._formatParameter(consoleMessage.type, this._linkifier, table, true, false)); |
dataGridContainer.appendChild(this._dataGrid.element); |
formattedMessage.appendChild(formattedResult); |
this._dataGrid.renderInline(); |
@@ -195,15 +195,16 @@ WebInspector.ConsoleViewMessage.prototype = { |
/** |
* @param {!WebInspector.ConsoleMessage} consoleMessage |
+ * @param {!WebInspector.Linkifier} linkifier |
* @return {!Element} |
*/ |
- _buildMessage: function(consoleMessage) |
+ _buildMessage: function(consoleMessage, linkifier) |
{ |
var messageElement; |
if (consoleMessage.source === WebInspector.ConsoleMessage.MessageSource.ConsoleAPI) { |
switch (consoleMessage.type) { |
case WebInspector.ConsoleMessage.MessageType.Trace: |
- messageElement = this._format(consoleMessage.parameters || ["console.trace"]); |
+ messageElement = this._format(consoleMessage, linkifier, consoleMessage.parameters || ["console.trace"]); |
break; |
case WebInspector.ConsoleMessage.MessageType.Clear: |
messageElement = createElementWithClass("span", "console-info"); |
@@ -213,22 +214,22 @@ WebInspector.ConsoleViewMessage.prototype = { |
var args = [WebInspector.UIString("Assertion failed:")]; |
if (consoleMessage.parameters) |
args = args.concat(consoleMessage.parameters); |
- messageElement = this._format(args); |
+ messageElement = this._format(consoleMessage, linkifier, args); |
break; |
case WebInspector.ConsoleMessage.MessageType.Dir: |
var obj = consoleMessage.parameters ? consoleMessage.parameters[0] : undefined; |
var args = ["%O", obj]; |
- messageElement = this._format(args); |
+ messageElement = this._format(consoleMessage, linkifier, args); |
break; |
case WebInspector.ConsoleMessage.MessageType.Profile: |
case WebInspector.ConsoleMessage.MessageType.ProfileEnd: |
- messageElement = this._format([consoleMessage.messageText]); |
+ messageElement = this._format(consoleMessage, linkifier, [consoleMessage.messageText]); |
break; |
default: |
if (consoleMessage.parameters && consoleMessage.parameters.length === 1 && consoleMessage.parameters[0].type === "string") |
- messageElement = this._tryFormatAsError(/** @type {string} */(consoleMessage.parameters[0].value)); |
+ messageElement = this._tryFormatAsError(consoleMessage.target(), linkifier, /** @type {string} */(consoleMessage.parameters[0].value)); |
var args = consoleMessage.parameters || [consoleMessage.messageText]; |
- messageElement = messageElement || this._format(args); |
+ messageElement = messageElement || this._format(consoleMessage, linkifier, args); |
} |
} else if (consoleMessage.source === WebInspector.ConsoleMessage.MessageSource.Network) { |
if (consoleMessage.request) { |
@@ -245,18 +246,18 @@ WebInspector.ConsoleViewMessage.prototype = { |
messageElement.appendChild(fragment); |
} |
} else { |
- messageElement = this._format([consoleMessage.messageText]); |
+ messageElement = this._format(consoleMessage, linkifier, [consoleMessage.messageText]); |
} |
} else { |
var args = consoleMessage.parameters || [consoleMessage.messageText]; |
- messageElement = this._format(args); |
+ messageElement = this._format(consoleMessage, linkifier, args); |
} |
var formattedMessage = createElement("span"); |
WebInspector.appendStyle(formattedMessage, "components/objectValue.css"); |
formattedMessage.className = "console-message-text source-code"; |
- var anchorElement = this._buildMessageAnchor(consoleMessage); |
+ var anchorElement = this._buildMessageAnchor(consoleMessage, linkifier); |
if (anchorElement) |
formattedMessage.appendChild(anchorElement); |
formattedMessage.appendChild(messageElement); |
@@ -275,18 +276,19 @@ WebInspector.ConsoleViewMessage.prototype = { |
/** |
* @param {!WebInspector.ConsoleMessage} consoleMessage |
+ * @param {!WebInspector.Linkifier} linkifier |
* @return {?Element} |
*/ |
- _buildMessageAnchor: function(consoleMessage) |
+ _buildMessageAnchor: function(consoleMessage, linkifier) |
{ |
var anchorElement = null; |
if (consoleMessage.source !== WebInspector.ConsoleMessage.MessageSource.Network || consoleMessage.request) { |
if (consoleMessage.scriptId) |
- anchorElement = this._linkifyScriptId(consoleMessage.scriptId, consoleMessage.url || "", consoleMessage.line, consoleMessage.column); |
+ anchorElement = this._linkifyScriptId(linkifier, consoleMessage); |
lushnikov
2016/10/22 03:10:18
1. the order should be consistent
2. can we pass j
|
else if (consoleMessage.stackTrace && consoleMessage.stackTrace.callFrames.length) |
- anchorElement = this._linkifyStackTraceTopFrame(consoleMessage.stackTrace); |
+ anchorElement = this._linkifyStackTraceTopFrame(linkifier, consoleMessage); |
lushnikov
2016/10/22 03:10:18
inline this as well
|
else if (consoleMessage.url && consoleMessage.url !== "undefined") |
- anchorElement = this._linkifyLocation(consoleMessage.url, consoleMessage.line, consoleMessage.column); |
+ anchorElement = this._linkifyLocation(linkifier, consoleMessage); |
lushnikov
2016/10/22 03:10:18
inline this as well
|
} else if (consoleMessage.url) { |
var url = consoleMessage.url; |
var isExternal = !WebInspector.resourceForURL(url) && !WebInspector.networkMapping.uiSourceCodeForURLForAnyTarget(url); |
@@ -311,7 +313,7 @@ WebInspector.ConsoleViewMessage.prototype = { |
var triangleElement = toggleElement.createChild("div", "console-message-stack-trace-triangle"); |
var contentElement = toggleElement.createChild("div", "console-message-stack-trace-wrapper"); |
- var messageElement = this._buildMessage(consoleMessage); |
+ var messageElement = this._buildMessage(consoleMessage, linkifier); |
var clickableElement = contentElement.createChild("div"); |
clickableElement.appendChild(messageElement); |
var stackTraceElement = contentElement.createChild("div"); |
@@ -349,44 +351,42 @@ WebInspector.ConsoleViewMessage.prototype = { |
}, |
/** |
- * @param {string} url |
- * @param {number} lineNumber |
- * @param {number} columnNumber |
+ * @param {!WebInspector.Linkifier} linkifier |
+ * @param {!WebInspector.ConsoleMessage} consoleMessage |
* @return {?Element} |
*/ |
- _linkifyLocation: function(url, lineNumber, columnNumber) |
+ _linkifyLocation: function(linkifier, consoleMessage) |
lushnikov
2016/10/22 03:10:19
will be removed
|
{ |
- var target = this._target(); |
+ var target = consoleMessage.target(); |
if (!target) |
return null; |
- return this._linkifier.linkifyScriptLocation(target, null, url, lineNumber, columnNumber, "console-message-url"); |
+ return this._linkifier.linkifyScriptLocation(target, null, consoleMessage.url || "", consoleMessage.line, consoleMessage.column, "console-message-url"); |
lushnikov
2016/10/22 03:10:18
linkifier
|
}, |
/** |
- * @param {!RuntimeAgent.StackTrace} stackTrace |
+ * @param {!WebInspector.Linkifier} linkifier |
+ * @param {!WebInspector.ConsoleMessage} consoleMessage |
* @return {?Element} |
*/ |
lushnikov
2016/10/22 03:10:18
will be removed
|
- _linkifyStackTraceTopFrame: function(stackTrace) |
+ _linkifyStackTraceTopFrame: function(linkifier, consoleMessage) |
{ |
- var target = this._target(); |
+ var target = consoleMessage.target(); |
if (!target) |
return null; |
- return this._linkifier.linkifyStackTraceTopFrame(target, stackTrace, "console-message-url"); |
+ return this._linkifier.linkifyStackTraceTopFrame(target, /** @type {!RuntimeAgent.StackTrace} **/ (consoleMessage.stackTrace), "console-message-url"); |
}, |
/** |
- * @param {string} scriptId |
- * @param {string} url |
- * @param {number} lineNumber |
- * @param {number} columnNumber |
+ * @param {!WebInspector.Linkifier} linkifier |
+ * @param {!WebInspector.ConsoleMessage} consoleMessage |
* @return {?Element} |
*/ |
- _linkifyScriptId: function(scriptId, url, lineNumber, columnNumber) |
+ _linkifyScriptId: function(linkifier, consoleMessage) |
lushnikov
2016/10/22 03:10:19
will be removed
|
{ |
- var target = this._target(); |
+ var target = consoleMessage.target(); |
if (!target) |
return null; |
- return this._linkifier.linkifyScriptLocation(target, scriptId, url, lineNumber, columnNumber, "console-message-url"); |
+ return this._linkifier.linkifyScriptLocation(target, consoleMessage.scriptId, consoleMessage.url || "", consoleMessage.line, consoleMessage.column, "console-message-url"); |
}, |
/** |
@@ -406,10 +406,12 @@ WebInspector.ConsoleViewMessage.prototype = { |
}, |
/** |
+ * @param {!WebInspector.ConsoleMessage} consoleMessage |
+ * @param {!WebInspector.Linkifier} linkifier |
* @param {!Array.<!WebInspector.RemoteObject|string>} parameters |
* @return {!Element} |
*/ |
- _format: function(parameters) |
+ _format: function(consoleMessage, linkifier, parameters) |
{ |
// This node is used like a Builder. Values are continually appended onto it. |
var formattedResult = createElement("span"); |
@@ -420,14 +422,15 @@ WebInspector.ConsoleViewMessage.prototype = { |
// API allows passing arbitrary values as messages (strings, numbers, etc.). Wrap them here. |
// FIXME: Only pass runtime wrappers here. |
for (var i = 0; i < parameters.length; ++i) |
- parameters[i] = this._parameterToRemoteObject(parameters[i], this._target()); |
+ parameters[i] = this._parameterToRemoteObject(parameters[i], consoleMessage.target()); |
// There can be string log and string eval result. We distinguish between them based on message type. |
- var shouldFormatMessage = WebInspector.RemoteObject.type((/** @type {!Array.<!WebInspector.RemoteObject>} **/ (parameters))[0]) === "string" && (this._message.type !== WebInspector.ConsoleMessage.MessageType.Result || this._message.level === WebInspector.ConsoleMessage.MessageLevel.Error || this._message.level === WebInspector.ConsoleMessage.MessageLevel.RevokedError); |
+ var messageType = consoleMessage.type; |
+ var shouldFormatMessage = WebInspector.RemoteObject.type((/** @type {!Array.<!WebInspector.RemoteObject>} **/ (parameters))[0]) === "string" && (messageType !== WebInspector.ConsoleMessage.MessageType.Result || consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.Error || consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.RevokedError); |
// Multiple parameters with the first being a format string. Save unused substitutions. |
if (shouldFormatMessage) { |
- var result = this._formatWithSubstitutionString(/** @type {string} **/ (parameters[0].description), parameters.slice(1), formattedResult); |
+ var result = this._formatWithSubstitutionString(messageType, linkifier, /** @type {string} **/ (parameters[0].description), parameters.slice(1), formattedResult); |
parameters = result.unusedSubstitutions; |
if (parameters.length) |
formattedResult.createTextChild(" "); |
@@ -439,7 +442,7 @@ WebInspector.ConsoleViewMessage.prototype = { |
if (shouldFormatMessage && parameters[i].type === "string") |
formattedResult.appendChild(WebInspector.linkifyStringAsFragment(parameters[i].description)); |
else |
- formattedResult.appendChild(this._formatParameter(parameters[i], false, true)); |
+ formattedResult.appendChild(this._formatParameter(messageType, linkifier, parameters[i], false, true)); |
if (i < parameters.length - 1) |
formattedResult.createTextChild(" "); |
} |
@@ -447,30 +450,31 @@ WebInspector.ConsoleViewMessage.prototype = { |
}, |
/** |
+ * @param {string} messageType |
+ * @param {!WebInspector.Linkifier} linkifier |
* @param {!WebInspector.RemoteObject} output |
* @param {boolean=} forceObjectFormat |
* @param {boolean=} includePreview |
* @return {!Element} |
*/ |
- _formatParameter: function(output, forceObjectFormat, includePreview) |
+ _formatParameter: function(messageType, linkifier, output, forceObjectFormat, includePreview) |
{ |
if (output.customPreview()) |
return (new WebInspector.CustomPreviewComponent(output)).element; |
var type = forceObjectFormat ? "object" : (output.subtype || output.type); |
- var span = createElement("span"); |
- span.className = "object-value-" + type + " source-code"; |
+ var element; |
switch (type) { |
case "array": |
case "typedarray": |
- this._formatParameterAsArray(output, span); |
+ element = this._formatParameterAsArray(output, linkifier, messageType); |
break; |
case "error": |
- this._formatParameterAsError(output, span); |
+ element = this._formatParameterAsError(output, linkifier); |
break; |
case "function": |
case "generator": |
- this._formatParameterAsFunction(output, span, includePreview); |
+ element = this._formatParameterAsFunction(output, includePreview); |
break; |
case "iterator": |
case "map": |
@@ -478,13 +482,13 @@ WebInspector.ConsoleViewMessage.prototype = { |
case "promise": |
case "proxy": |
case "set": |
- this._formatParameterAsObject(output, span, includePreview); |
+ element = this._formatParameterAsObject(output, linkifier, includePreview); |
lushnikov
2016/10/22 03:10:18
element= createElement("span");
element.appendChil
|
break; |
case "node": |
- this._formatParameterAsNode(output, span); |
+ element = this._formatParameterAsNode(output, linkifier); |
break; |
case "string": |
- this._formatParameterAsString(output, span); |
+ element = this._formatParameterAsString(output); |
break; |
case "boolean": |
case "date": |
@@ -493,32 +497,50 @@ WebInspector.ConsoleViewMessage.prototype = { |
case "regexp": |
case "symbol": |
case "undefined": |
- this._formatParameterAsValue(output, span); |
+ element = this._formatParameterAsValue(output); |
break; |
default: |
- this._formatParameterAsValue(output, span); |
+ element = this._formatParameterAsValue(output); |
console.error("Tried to format remote object of unknown type."); |
} |
- return span; |
+ element.className = "object-value-" + type + " source-code"; |
+ return element; |
}, |
/** |
* @param {!WebInspector.RemoteObject} obj |
- * @param {!Element} elem |
+ * @return {!Element} |
*/ |
- _formatParameterAsValue: function(obj, elem) |
+ _formatParameterAsValue: function(obj) |
{ |
- elem.createTextChild(obj.description || ""); |
+ var element = createElement("span"); |
+ element.createTextChild(obj.description || ""); |
if (obj.objectId) |
- elem.addEventListener("contextmenu", this._contextMenuEventFired.bind(this, obj), false); |
+ element.addEventListener("contextmenu", this._contextMenuEventFired.bind(this, obj), false); |
+ return element; |
+ }, |
+ |
+ /** |
+ * @param {!WebInspector.RemoteObject} obj |
+ * @param {!WebInspector.Linkifier} linkifier |
+ * @param {boolean=} includePreview |
+ * @return {!Element} |
+ */ |
+ _formatParameterAsObject: function(obj, linkifier, includePreview) |
lushnikov
2016/10/22 03:10:18
let's not split this into two - we don't need more
|
+ { |
+ var element = createElement("span"); |
+ var expandableObject = this._formatAsExpandableObject(obj, linkifier, includePreview); |
+ element.appendChild(expandableObject); |
+ return element; |
}, |
/** |
* @param {!WebInspector.RemoteObject} obj |
- * @param {!Element} elem |
+ * @param {!WebInspector.Linkifier} linkifier |
* @param {boolean=} includePreview |
+ * @return {!Element} |
*/ |
- _formatParameterAsObject: function(obj, elem, includePreview) |
+ _formatAsExpandableObject: function(obj, linkifier, includePreview) |
{ |
var titleElement = createElement("span"); |
if (includePreview && obj.preview) { |
@@ -531,20 +553,22 @@ WebInspector.ConsoleViewMessage.prototype = { |
titleElement.createTextChild(obj.description || ""); |
} |
- var section = new WebInspector.ObjectPropertiesSection(obj, titleElement, this._linkifier); |
+ var section = new WebInspector.ObjectPropertiesSection(obj, titleElement, linkifier); |
section.element.classList.add("console-view-object-properties-section"); |
section.enableContextMenu(); |
- elem.appendChild(section.element); |
+ return section.element; |
}, |
/** |
* @param {!WebInspector.RemoteObject} func |
- * @param {!Element} element |
* @param {boolean=} includePreview |
+ * @return {!Element} |
*/ |
- _formatParameterAsFunction: function(func, element, includePreview) |
+ _formatParameterAsFunction: function(func, includePreview) |
{ |
+ var element = createElement("span"); |
WebInspector.RemoteFunction.objectAsFunction(func).targetFunction().then(formatTargetFunction.bind(this)); |
+ return element; |
/** |
* @param {!WebInspector.RemoteObject} targetFunction |
@@ -589,18 +613,22 @@ WebInspector.ConsoleViewMessage.prototype = { |
/** |
* @param {!WebInspector.RemoteObject} object |
- * @param {!Element} elem |
+ * @param {!WebInspector.Linkifier} linkifier |
+ * @return {!Element} |
*/ |
- _formatParameterAsNode: function(object, elem) |
+ _formatParameterAsNode: function(object, linkifier) |
{ |
+ var element = createElement("span"); |
WebInspector.Renderer.renderPromise(object).then(appendRenderer.bind(this), failedToRender.bind(this)); |
+ return element; |
+ |
/** |
* @param {!Element} rendererElement |
* @this {WebInspector.ConsoleViewMessage} |
*/ |
function appendRenderer(rendererElement) |
{ |
- elem.appendChild(rendererElement); |
+ element.appendChild(rendererElement); |
this._formattedParameterAsNodeForTest(); |
} |
@@ -609,7 +637,8 @@ WebInspector.ConsoleViewMessage.prototype = { |
*/ |
function failedToRender() |
{ |
- this._formatParameterAsObject(object, elem, false); |
+ var expandableObject = this._formatAsExpandableObject(object, linkifier, false); |
+ element.appendChild(expandableObject); |
} |
}, |
@@ -619,16 +648,19 @@ WebInspector.ConsoleViewMessage.prototype = { |
/** |
* @param {!WebInspector.RemoteObject} array |
- * @param {!Element} elem |
+ * @param {!WebInspector.Linkifier} linkifier |
+ * @param {string} messageType |
+ * @return {!Element} |
*/ |
- _formatParameterAsArray: function(array, elem) |
+ _formatParameterAsArray: function(array, linkifier, messageType) |
lushnikov
2016/10/22 03:10:18
let's pass linkifier as the last argument -- every
|
{ |
- var usePrintedArrayFormat = this._message.type !== WebInspector.ConsoleMessage.MessageType.DirXML && this._message.type !== WebInspector.ConsoleMessage.MessageType.Result; |
+ var element = createElement("span"); |
lushnikov
2016/10/22 03:10:18
var result = .. -- everywhere
|
+ var usePrintedArrayFormat = messageType !== WebInspector.ConsoleMessage.MessageType.DirXML && messageType !== WebInspector.ConsoleMessage.MessageType.Result; |
var isLongArray = array.arrayLength() > 100; |
if (usePrintedArrayFormat || isLongArray) |
- this._formatParameterAsObject(array, elem, usePrintedArrayFormat || !isLongArray); |
- else |
- array.getAllProperties(false, printArrayResult.bind(this)); |
+ return this._formatParameterAsObject(array, linkifier, usePrintedArrayFormat || !isLongArray); |
+ array.getAllProperties(false, printArrayResult.bind(this)); |
+ return element; |
/** |
* @param {?Array.<!WebInspector.RemoteObjectProperty>} properties |
@@ -637,7 +669,8 @@ WebInspector.ConsoleViewMessage.prototype = { |
function printArrayResult(properties) |
{ |
if (!properties) { |
- this._formatParameterAsObject(array, elem, false); |
+ var expandableObject = this._formatAsExpandableObject(array, linkifier, false); |
+ element.appendChild(expandableObject); |
return; |
} |
@@ -667,8 +700,8 @@ WebInspector.ConsoleViewMessage.prototype = { |
var length = array.arrayLength(); |
for (var i = 0; i < length; ++i) { |
- var element = elements[i]; |
- if (!element) |
+ var entryElement = elements[i]; |
lushnikov
2016/10/22 03:10:18
discard this
|
+ if (!entryElement) |
continue; |
if (i - lastNonEmptyIndex > 1) { |
@@ -676,7 +709,7 @@ WebInspector.ConsoleViewMessage.prototype = { |
titleElement.createTextChild(", "); |
} |
- titleElement.appendChild(element); |
+ titleElement.appendChild(entryElement); |
lastNonEmptyIndex = i; |
if (i < length - 1) |
titleElement.createTextChild(", "); |
@@ -685,39 +718,43 @@ WebInspector.ConsoleViewMessage.prototype = { |
titleElement.createTextChild("]"); |
- var section = new WebInspector.ObjectPropertiesSection(array, titleElement, this._linkifier); |
+ var section = new WebInspector.ObjectPropertiesSection(array, titleElement, linkifier); |
section.element.classList.add("console-view-object-properties-section"); |
section.enableContextMenu(); |
- elem.appendChild(section.element); |
+ element.appendChild(section.element); |
} |
}, |
/** |
* @param {!WebInspector.RemoteObject} output |
- * @param {!Element} elem |
+ * @return {!Element} |
*/ |
- _formatParameterAsString: function(output, elem) |
+ _formatParameterAsString: function(output) |
{ |
var span = createElement("span"); |
- span.className = "object-value-string source-code"; |
+ span.className = "object-value-string-inner source-code"; |
span.appendChild(WebInspector.linkifyStringAsFragment(output.description || "")); |
// Make black quotes. |
- elem.classList.remove("object-value-string"); |
lushnikov
2016/10/18 23:07:40
this is non-trivial change in this mostly mechanic
luoe
2016/10/20 23:01:57
This "object-value-string-inner" change should* be
|
- elem.createTextChild("\""); |
- elem.appendChild(span); |
- elem.createTextChild("\""); |
+ var element = createElement("span"); |
+ element.createTextChild("\""); |
+ element.appendChild(span); |
+ element.createTextChild("\""); |
+ return element; |
}, |
/** |
* @param {!WebInspector.RemoteObject} output |
- * @param {!Element} elem |
+ * @param {!WebInspector.Linkifier} linkifier |
+ * @return {!Element} |
*/ |
- _formatParameterAsError: function(output, elem) |
+ _formatParameterAsError: function(output, linkifier) |
{ |
- var span = elem.createChild("span", "object-value-error source-code"); |
- var errorSpan = this._tryFormatAsError(output.description || ""); |
+ var element = createElement("span"); |
+ var span = element.createChild("span", "object-value-error source-code"); |
+ var errorSpan = this._tryFormatAsError(output.target(), linkifier, output.description || ""); |
span.appendChild(errorSpan ? errorSpan : WebInspector.linkifyStringAsFragment(output.description || "")); |
+ return element; |
}, |
/** |
@@ -775,11 +812,13 @@ WebInspector.ConsoleViewMessage.prototype = { |
}, |
/** |
+ * @param {string} messageType |
+ * @param {!WebInspector.Linkifier} linkifier |
lushnikov
2016/10/22 03:10:18
make it last -- everywhere
|
* @param {string} format |
* @param {!Array.<!WebInspector.RemoteObject>} parameters |
* @param {!Element} formattedResult |
*/ |
- _formatWithSubstitutionString: function(format, parameters, formattedResult) |
+ _formatWithSubstitutionString: function(messageType, linkifier, format, parameters, formattedResult) |
{ |
var formatters = {}; |
@@ -791,7 +830,7 @@ WebInspector.ConsoleViewMessage.prototype = { |
*/ |
function parameterFormatter(force, obj) |
{ |
- return this._formatParameter(obj, force, false); |
+ return this._formatParameter(messageType, linkifier, obj, force, false); |
} |
function stringFormatter(obj) |
@@ -974,7 +1013,7 @@ WebInspector.ConsoleViewMessage.prototype = { |
else if (this._message.type === WebInspector.ConsoleMessage.MessageType.Table) |
formattedMessage = this._buildTableMessage(this._message); |
else |
- formattedMessage = this._buildMessage(consoleMessage); |
+ formattedMessage = this._buildMessage(consoleMessage, this._linkifier); |
contentElement.appendChild(formattedMessage); |
this.updateTimestamp(WebInspector.moduleSetting("consoleTimestampsEnabled").get()); |
@@ -1138,10 +1177,12 @@ WebInspector.ConsoleViewMessage.prototype = { |
}, |
/** |
+ * @param {?WebInspector.Target} target |
+ * @param {!WebInspector.Linkifier} linkifier |
* @param {string} string |
* @return {?Element} |
*/ |
- _tryFormatAsError: function(string) |
+ _tryFormatAsError: function(target, linkifier, string) |
{ |
/** |
* @param {string} prefix |
@@ -1152,7 +1193,6 @@ WebInspector.ConsoleViewMessage.prototype = { |
} |
var errorPrefixes = ["EvalError", "ReferenceError", "SyntaxError", "TypeError", "RangeError", "Error", "URIError"]; |
- var target = this._target(); |
if (!target || !errorPrefixes.some(startsWith)) |
return null; |
var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
@@ -1207,7 +1247,7 @@ WebInspector.ConsoleViewMessage.prototype = { |
var start = 0; |
for (var i = 0; i < links.length; ++i) { |
formattedResult.appendChild(WebInspector.linkifyStringAsFragment(string.substring(start, links[i].positionLeft))); |
- formattedResult.appendChild(this._linkifier.linkifyScriptLocation(target, null, links[i].url, links[i].lineNumber, links[i].columnNumber)); |
+ formattedResult.appendChild(linkifier.linkifyScriptLocation(target, null, links[i].url, links[i].lineNumber, links[i].columnNumber)); |
start = links[i].positionRight; |
} |