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

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

Issue 298333003: DevTools: Implement console message logging through an extension (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Remove duplicate logging 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/console/ConsoleViewMessage.js
diff --git a/Source/devtools/front_end/console/ConsoleViewMessage.js b/Source/devtools/front_end/console/ConsoleViewMessage.js
index d902e70cea347810a8abba2a31ecd3aeb2d22482..25e8bd57e14ec1ba6604a4e970a3afbb8e1fb1ed 100644
--- a/Source/devtools/front_end/console/ConsoleViewMessage.js
+++ b/Source/devtools/front_end/console/ConsoleViewMessage.js
@@ -58,7 +58,7 @@ WebInspector.ConsoleViewMessage = function(consoleMessage, linkifier, nestingLev
WebInspector.ConsoleViewMessage.prototype = {
/**
- * @return {!WebInspector.Target}
+ * @return {?WebInspector.Target}
*/
_target: function()
{
@@ -247,18 +247,19 @@ WebInspector.ConsoleViewMessage.prototype = {
_linkifyLocation: function(url, lineNumber, columnNumber)
{
console.assert(this._linkifier);
- if (!this._linkifier)
+ var target = this._target();
+ if (!this._linkifier || !target)
return null;
// FIXME(62725): stack trace line/column numbers are one-based.
lineNumber = lineNumber ? lineNumber - 1 : 0;
columnNumber = columnNumber ? columnNumber - 1 : 0;
if (this._message.source === WebInspector.ConsoleMessage.MessageSource.CSS) {
- var headerIds = this._target().cssModel.styleSheetIdsForURL(url);
- var cssLocation = new WebInspector.CSSLocation(this._target(), url, lineNumber, columnNumber);
+ var headerIds = target.cssModel.styleSheetIdsForURL(url);
+ var cssLocation = new WebInspector.CSSLocation(target, url, lineNumber, columnNumber);
return this._linkifier.linkifyCSSLocation(headerIds[0] || null, cssLocation, "console-message-url");
}
- return this._linkifier.linkifyLocation(this._target(), url, lineNumber, columnNumber, "console-message-url");
+ return this._linkifier.linkifyLocation(target, url, lineNumber, columnNumber, "console-message-url");
},
/**
@@ -268,12 +269,13 @@ WebInspector.ConsoleViewMessage.prototype = {
_linkifyCallFrame: function(callFrame)
{
console.assert(this._linkifier);
- if (!this._linkifier)
+ var target = this._target();
+ if (!this._linkifier || !target)
return null;
// FIXME(62725): stack trace line/column numbers are one-based.
var lineNumber = callFrame.lineNumber ? callFrame.lineNumber - 1 : 0;
var columnNumber = callFrame.columnNumber ? callFrame.columnNumber - 1 : 0;
- var rawLocation = new WebInspector.DebuggerModel.Location(this._target(), callFrame.scriptId, lineNumber, columnNumber);
+ var rawLocation = new WebInspector.DebuggerModel.Location(target, callFrame.scriptId, lineNumber, columnNumber);
return this._linkifier.linkifyRawLocation(rawLocation, "console-message-url");
},
@@ -316,6 +318,8 @@ WebInspector.ConsoleViewMessage.prototype = {
if (!parameters.length)
return formattedResult;
+ var target = this._target();
+
// Formatting code below assumes that parameters are all wrappers whereas frontend console
// API allows passing arbitrary values as messages (strings, numbers, etc.). Wrap them here.
for (var i = 0; i < parameters.length; ++i) {
@@ -323,10 +327,15 @@ WebInspector.ConsoleViewMessage.prototype = {
if (parameters[i] instanceof WebInspector.RemoteObject)
continue;
+ if (!target) {
+ parameters[i] = WebInspector.RemoteObject.fromLocalObject(parameters[i]);
+ continue;
+ }
+
if (typeof parameters[i] === "object")
- parameters[i] = this._target().runtimeModel.createRemoteObject(parameters[i]);
+ parameters[i] = target.runtimeModel.createRemoteObject(parameters[i]);
else
- parameters[i] = this._target().runtimeModel.createRemoteObjectFromPrimitiveValue(parameters[i]);
+ parameters[i] = target.runtimeModel.createRemoteObjectFromPrimitiveValue(parameters[i]);
}
// There can be string log and string eval result. We distinguish between them based on message type.
« no previous file with comments | « Source/devtools/front_end/console/ConsoleView.js ('k') | Source/devtools/front_end/elements/MetricsSidebarPane.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698