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

Unified Diff: third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js

Issue 2383293002: DevTools: ConsoleViewMessage rewrite signatures to isolate formatting functions (Closed)
Patch Set: use switch instead Created 4 years, 3 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 901971c59afaa253f2c3e89827a2c0b47ff78cb4..57a19a3863f8763d889b15bf16ef288d15bd214a 100644
--- a/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js
+++ b/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js
@@ -46,22 +46,6 @@ WebInspector.ConsoleViewMessage = function(consoleMessage, linkifier, nestingLev
/** @type {?WebInspector.DataGrid} */
this._dataGrid = null;
- /** @type {!Object.<string, function(!WebInspector.RemoteObject, !Element, boolean=)>} */
- this._customFormatters = {
- "array": this._formatParameterAsArray,
- "typedarray": this._formatParameterAsArray,
- "error": this._formatParameterAsError,
- "function": this._formatParameterAsFunction,
- "generator": this._formatParameterAsObject,
- "iterator": this._formatParameterAsObject,
- "map": this._formatParameterAsObject,
- "node": this._formatParameterAsNode,
- "object": this._formatParameterAsObject,
- "promise": this._formatParameterAsObject,
- "proxy": this._formatParameterAsObject,
- "set": this._formatParameterAsObject,
- "string": this._formatParameterAsString
- };
this._previewFormatter = new WebInspector.RemoteObjectPreviewFormatter();
this._searchRegex = null;
}
@@ -146,7 +130,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);
@@ -201,7 +185,7 @@ WebInspector.ConsoleViewMessage.prototype = {
var tableElement = formattedMessage.createChild("div", "console-message-formatted-table");
var dataGridContainer = tableElement.createChild("span");
- tableElement.appendChild(this._formatParameter(table, true, false));
+ tableElement.appendChild(this._formatParameter(consoleMessage, this._linkifier, table, true, false));
dataGridContainer.appendChild(this._dataGrid.element);
this._dataGrid.renderInline();
}
@@ -210,15 +194,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");
@@ -228,22 +213,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) {
@@ -260,23 +245,23 @@ 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);
if (!!consoleMessage.stackTrace && (consoleMessage.source === WebInspector.ConsoleMessage.MessageSource.Network || consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.Error || consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.RevokedError || consoleMessage.type === WebInspector.ConsoleMessage.MessageType.Trace || consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.Warning))
- formattedMessage = this._buildMessageStackTrace(formattedMessage, consoleMessage, this._linkifier);
+ formattedMessage = this._buildMessageStackTrace(formattedMessage, consoleMessage, linkifier);
return formattedMessage;
/**
@@ -292,20 +277,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);
- } else {
- if (consoleMessage.stackTrace && consoleMessage.stackTrace.callFrames.length)
- anchorElement = this._linkifyStackTraceTopFrame(consoleMessage.stackTrace);
- else if (consoleMessage.url && consoleMessage.url !== "undefined")
- anchorElement = this._linkifyLocation(consoleMessage.url, consoleMessage.line, consoleMessage.column);
- }
+ if (consoleMessage.scriptId)
+ anchorElement = this._linkifyScriptId(linkifier, consoleMessage);
+ else if (consoleMessage.stackTrace && consoleMessage.stackTrace.callFrames.length)
+ anchorElement = this._linkifyStackTraceTopFrame(linkifier, consoleMessage);
+ else if (consoleMessage.url && consoleMessage.url !== "undefined")
+ anchorElement = this._linkifyLocation(linkifier, consoleMessage);
} else if (consoleMessage.url) {
var url = consoleMessage.url;
var isExternal = !WebInspector.resourceForURL(url) && !WebInspector.networkMapping.uiSourceCodeForURLForAnyTarget(url);
@@ -371,44 +355,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)
{
- 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 linkifier.linkifyScriptLocation(target, null, consoleMessage.url || "", consoleMessage.line, consoleMessage.column, "console-message-url");
},
/**
- * @param {!RuntimeAgent.StackTrace} stackTrace
+ * @param {!WebInspector.Linkifier} linkifier
+ * @param {!WebInspector.ConsoleMessage} consoleMessage
* @return {?Element}
*/
- _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 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)
{
- 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 linkifier.linkifyScriptLocation(target, consoleMessage.scriptId, consoleMessage.url || "", consoleMessage.line, consoleMessage.column, "console-message-url");
},
/**
@@ -428,10 +410,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");
@@ -442,14 +426,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(consoleMessage, linkifier, /** @type {string} **/ (parameters[0].description), parameters.slice(1), formattedResult);
parameters = result.unusedSubstitutions;
if (parameters.length)
formattedResult.createTextChild(" ");
@@ -461,7 +446,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(consoleMessage, linkifier, parameters[i], false, true));
if (i < parameters.length - 1)
formattedResult.createTextChild(" ");
}
@@ -469,80 +454,118 @@ WebInspector.ConsoleViewMessage.prototype = {
},
/**
+ * @param {!WebInspector.ConsoleMessage} consoleMessage
+ * @param {!WebInspector.Linkifier} linkifier
* @param {!WebInspector.RemoteObject} output
* @param {boolean=} forceObjectFormat
* @param {boolean=} includePreview
* @return {!Element}
*/
- _formatParameter: function(output, forceObjectFormat, includePreview)
+ _formatParameter: function(consoleMessage, linkifier, output, forceObjectFormat, includePreview)
{
- if (output.customPreview()) {
+ if (output.customPreview())
return (new WebInspector.CustomPreviewComponent(output)).element;
- }
+ var messageType = consoleMessage.type;
+ var target = consoleMessage.target();
+ var elem;
lushnikov 2016/10/01 02:54:39 element
var type = forceObjectFormat ? "object" : (output.subtype || output.type);
- var formatter = this._customFormatters[type] || this._formatParameterAsValue;
- var span = createElement("span");
- span.className = "object-value-" + type + " source-code";
- formatter.call(this, output, span, includePreview);
- return span;
+ switch (type) {
+ case "array":
+ case "typedarray":
+ elem = this._formatParameterAsArray(output, linkifier, messageType);
+ break;
+ case "error":
+ elem = this._formatParameterAsError(output, linkifier, target);
+ break;
+ case "function":
+ case "generator":
+ elem = this._formatParameterAsFunction(output, includePreview);
+ break;
+ case "iterator":
+ case "map":
+ case "object":
+ case "promise":
+ case "proxy":
+ case "set":
+ elem = this._formatParameterAsObject(output, linkifier, includePreview);
+ break;
+ case "node":
+ elem = this._formatParameterAsNode(output, linkifier);
+ break;
+ case "string":
+ elem = this._formatParameterAsString(output);
+ break;
+ default:
lushnikov 2016/10/01 02:54:39 can we explicitly state them all? I feel uneasy be
+ elem = this._formatParameterAsValue(output);
+ }
+ // Do not apply object-value-string to outer string element to keep quotes black.
+ elem.className = type === "string" ? "source-code" : "object-value-" + type + " source-code";
luoe 2016/10/01 01:10:52 This is 'moved' from _formatParameterAsString() do
lushnikov 2016/10/01 02:54:39 let's make every formatter to specify the classnam
+ return elem;
},
/**
* @param {!WebInspector.RemoteObject} obj
- * @param {!Element} elem
+ * @return {!Element}
*/
- _formatParameterAsValue: function(obj, elem)
+ _formatParameterAsValue: function(obj)
{
+ var elem = createElement("span");
lushnikov 2016/10/01 02:54:39 createElementWithClass("span", "object-value-...")
elem.createTextChild(obj.description || "");
if (obj.objectId)
elem.addEventListener("contextmenu", this._contextMenuEventFired.bind(this, obj), false);
+ return elem;
lushnikov 2016/10/01 02:54:39 s/elem/element/gc
},
/**
* @param {!WebInspector.RemoteObject} obj
- * @param {!Element} elem
+ * @param {!WebInspector.Linkifier} linkifier
* @param {boolean=} includePreview
+ * @return {!Element}
*/
- _formatParameterAsObject: function(obj, elem, includePreview)
+ _formatParameterAsObject: function(obj, linkifier, includePreview)
{
- this._formatParameterAsArrayOrObject(obj, elem, includePreview);
+ var elem = createElement("span");
+ var sectionElement = this._objectFormatterHelper(obj, linkifier, includePreview);
+ elem.appendChild(sectionElement);
+ return elem;
},
/**
* @param {!WebInspector.RemoteObject} obj
- * @param {!Element} elem
+ * @param {!WebInspector.Linkifier} linkifier
* @param {boolean=} includePreview
+ * @return {!Element}
*/
- _formatParameterAsArrayOrObject: function(obj, elem, includePreview)
+ _objectFormatterHelper: function(obj, linkifier, includePreview)
lushnikov 2016/10/01 02:54:39 _formatRemoteObject:
{
var titleElement = createElement("span");
if (includePreview && obj.preview) {
titleElement.classList.add("console-object-preview");
this._previewFormatter.appendObjectPreview(titleElement, obj.preview);
+ } else if (obj.type === "function") {
+ WebInspector.ObjectPropertiesSection.formatObjectAsFunction(obj, titleElement, false);
+ titleElement.classList.add("object-value-function");
} else {
- if (obj.type === "function") {
- WebInspector.ObjectPropertiesSection.formatObjectAsFunction(obj, titleElement, false);
- titleElement.classList.add("object-value-function");
- } else {
- titleElement.createTextChild(obj.description || "");
- }
+ 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 elem = createElement("span");
WebInspector.RemoteFunction.objectAsFunction(func).targetFunction().then(formatTargetFunction.bind(this));
+ return elem;
/**
* @param {!WebInspector.RemoteObject} targetFunction
@@ -552,12 +575,12 @@ WebInspector.ConsoleViewMessage.prototype = {
{
var functionElement = createElement("span");
WebInspector.ObjectPropertiesSection.formatObjectAsFunction(targetFunction, functionElement, true, includePreview);
- element.appendChild(functionElement);
+ elem.appendChild(functionElement);
if (targetFunction !== func) {
- var note = element.createChild("span", "object-info-state-note");
+ var note = elem.createChild("span", "object-info-state-note");
note.title = WebInspector.UIString("Function was resolved from bound function.");
}
- element.addEventListener("contextmenu", this._contextMenuEventFired.bind(this, targetFunction), false);
+ elem.addEventListener("contextmenu", this._contextMenuEventFired.bind(this, targetFunction), false);
}
},
@@ -586,12 +609,16 @@ WebInspector.ConsoleViewMessage.prototype = {
},
/**
- * @param {!WebInspector.RemoteObject} object
- * @param {!Element} elem
+ * @param {!WebInspector.RemoteObject} obj
lushnikov 2016/10/01 02:54:39 object
+ * @param {!WebInspector.Linkifier} linkifier
+ * @return {!Element}
*/
- _formatParameterAsNode: function(object, elem)
+ _formatParameterAsNode: function(obj, linkifier)
{
- WebInspector.Renderer.renderPromise(object).then(appendRenderer.bind(this), failedToRender.bind(this));
+ var elem = createElement("span");
lushnikov 2016/10/01 02:54:39 element
+ WebInspector.Renderer.renderPromise(obj).then(appendRenderer.bind(this), failedToRender.bind(this));
+ return elem;
+
/**
* @param {!Element} rendererElement
* @this {WebInspector.ConsoleViewMessage}
@@ -607,7 +634,8 @@ WebInspector.ConsoleViewMessage.prototype = {
*/
function failedToRender()
{
- this._formatParameterAsObject(object, elem, false);
+ var sectionElement = this._objectFormatterHelper(obj, linkifier, false);
+ elem.appendChild(sectionElement);
}
},
@@ -616,63 +644,65 @@ WebInspector.ConsoleViewMessage.prototype = {
},
/**
- * @return {boolean}
- */
- _usePrintedArrayFormatter: function()
- {
- return this._message.type !== WebInspector.ConsoleMessage.MessageType.DirXML && this._message.type !== WebInspector.ConsoleMessage.MessageType.Result;
- },
-
- /**
* @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)
{
+ var elem = createElement("span");
+ var usePrintedArrayFormat = messageType !== WebInspector.ConsoleMessage.MessageType.DirXML && messageType !== WebInspector.ConsoleMessage.MessageType.Result;
var maxFlatArrayLength = 100;
- if (this._usePrintedArrayFormatter() || array.arrayLength() > maxFlatArrayLength)
- this._formatParameterAsArrayOrObject(array, elem, this._usePrintedArrayFormatter() || array.arrayLength() <= maxFlatArrayLength);
- else
- array.getAllProperties(false, this._printArrayResult.bind(this, array, elem));
+ if (usePrintedArrayFormat || array.arrayLength() > maxFlatArrayLength)
+ return this._formatParameterAsObject(array, linkifier, usePrintedArrayFormat || array.arrayLength() <= maxFlatArrayLength);
+ array.getAllProperties(false, this._printArrayResult.bind(this, array, elem, linkifier));
+ return elem;
},
/**
* @param {!WebInspector.RemoteObject} output
- * @param {!Element} elem
+ * @return {!Element}
*/
- _formatParameterAsString: function(output, elem)
+ _formatParameterAsString: function(output)
{
+ var elem = createElement("span");
var span = createElement("span");
span.className = "object-value-string source-code";
span.appendChild(WebInspector.linkifyStringAsFragment(output.description || ""));
- // Make black quotes.
- elem.classList.remove("object-value-string");
elem.createTextChild("\"");
elem.appendChild(span);
elem.createTextChild("\"");
+ return elem;
},
/**
* @param {!WebInspector.RemoteObject} output
- * @param {!Element} elem
+ * @param {!WebInspector.Linkifier} linkifier
+ * @param {?WebInspector.Target} target
+ * @return {!Element}
*/
- _formatParameterAsError: function(output, elem)
+ _formatParameterAsError: function(output, linkifier, target)
{
+ var elem = createElement("span");
var span = elem.createChild("span", "object-value-error source-code");
- var errorSpan = this._tryFormatAsError(output.description || "");
+ var errorSpan = this._tryFormatAsError(target, linkifier, output.description || "");
span.appendChild(errorSpan ? errorSpan : WebInspector.linkifyStringAsFragment(output.description || ""));
+ return elem;
},
/**
* @param {!WebInspector.RemoteObject} array
* @param {!Element} elem
+ * @param {!WebInspector.Linkifier} linkifier
* @param {?Array.<!WebInspector.RemoteObjectProperty>} properties
*/
- _printArrayResult: function(array, elem, properties)
+ _printArrayResult: function(array, elem, linkifier, properties)
lushnikov 2016/10/01 02:54:39 probably, you should create and return element her
{
if (!properties) {
- this._formatParameterAsObject(array, elem, false);
+ var sectionElement = this._objectFormatterHelper(array, linkifier, false);
+ elem.appendChild(sectionElement);
return;
}
@@ -720,7 +750,7 @@ 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);
@@ -781,23 +811,25 @@ WebInspector.ConsoleViewMessage.prototype = {
},
/**
+ * @param {!WebInspector.ConsoleMessage} consoleMessage
+ * @param {!WebInspector.Linkifier} linkifier
* @param {string} format
* @param {!Array.<!WebInspector.RemoteObject>} parameters
* @param {!Element} formattedResult
*/
- _formatWithSubstitutionString: function(format, parameters, formattedResult)
+ _formatWithSubstitutionString: function(consoleMessage, linkifier, format, parameters, formattedResult)
{
var formatters = {};
/**
- * @param {boolean} force
* @param {!WebInspector.RemoteObject} obj
+ * @param {boolean} force
* @return {!Element}
* @this {WebInspector.ConsoleViewMessage}
*/
function parameterFormatter(force, obj)
{
- return this._formatParameter(obj, force, false);
+ return this._formatParameter(consoleMessage, linkifier, obj, force, false);
}
function stringFormatter(obj)
@@ -975,7 +1007,7 @@ WebInspector.ConsoleViewMessage.prototype = {
if (this._message.type === WebInspector.ConsoleMessage.MessageType.Table)
formattedMessage = this._buildTableMessage(this._message);
else
- formattedMessage = this._buildMessage(this._message);
+ formattedMessage = this._buildMessage(this._message, this._linkifier);
contentElement.appendChild(formattedMessage);
this.updateTimestamp(WebInspector.moduleSetting("consoleTimestampsEnabled").get());
@@ -1139,10 +1171,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
@@ -1153,7 +1187,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);
@@ -1208,7 +1241,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;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698