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

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

Issue 1095943002: DevTools: [console] Logged promise rejections do not change state once handled (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: comments addressed Created 5 years, 8 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/ConsoleModel.js
diff --git a/Source/devtools/front_end/sdk/ConsoleModel.js b/Source/devtools/front_end/sdk/ConsoleModel.js
index f658ef6a7a89bb76a3c65478049fba2ed88a3156..2349fcacf387d38c14a43ea549e1c2b9f51e8c35 100644
--- a/Source/devtools/front_end/sdk/ConsoleModel.js
+++ b/Source/devtools/front_end/sdk/ConsoleModel.js
@@ -39,8 +39,11 @@ WebInspector.ConsoleModel = function(target)
/** @type {!Array.<!WebInspector.ConsoleMessage>} */
this._messages = [];
- this.warnings = 0;
- this.errors = 0;
+ /** @type {!Map<number, !WebInspector.ConsoleMessage>} */
+ this._messageBySequenceNumber = new Map();
+ this._warnings = 0;
+ this._errors = 0;
+ this._revokedErrors = 0;
this._consoleAgent = target.consoleAgent();
target.registerConsoleDispatcher(new WebInspector.ConsoleDispatcher(this));
this._enableAgent();
@@ -72,10 +75,16 @@ WebInspector.ConsoleModel.prototype = {
*/
addMessage: function(msg)
{
- msg.index = this._messages.length;
this._messages.push(msg);
+ this._messageBySequenceNumber.set(msg.sequenceNumber, msg);
+ if (msg._relatedSequenceNumber) {
+ var relatedMessage = this._messageBySequenceNumber.get(msg._relatedSequenceNumber);
+ if (relatedMessage)
+ msg.setRelatedMessage(relatedMessage);
+ }
+ if (msg.level === WebInspector.ConsoleMessage.MessageLevel.RevokedError && msg.relatedMessage())
dgozman 2015/04/21 09:16:36 Move this to |_incrementErrorWarningCount|.
pfeldman 2015/04/21 12:15:27 Handled it separately.
+ this._errors--;
this._incrementErrorWarningCount(msg);
-
this.dispatchEventToListeners(WebInspector.ConsoleModel.Events.MessageAdded, msg);
},
@@ -86,10 +95,13 @@ WebInspector.ConsoleModel.prototype = {
{
switch (msg.level) {
case WebInspector.ConsoleMessage.MessageLevel.Warning:
- this.warnings++;
+ this._warnings++;
break;
case WebInspector.ConsoleMessage.MessageLevel.Error:
- this.errors++;
+ this._errors++;
+ break;
+ case WebInspector.ConsoleMessage.MessageLevel.RevokedError:
+ this._revokedErrors++;
break;
}
},
@@ -111,11 +123,37 @@ WebInspector.ConsoleModel.prototype = {
_messagesCleared: function()
{
this._messages = [];
- this.errors = 0;
- this.warnings = 0;
+ this._messageBySequenceNumber.clear();
+ this._errors = 0;
+ this._revokedErrors = 0;
+ this._warnings = 0;
this.dispatchEventToListeners(WebInspector.ConsoleModel.Events.ConsoleCleared);
},
+ /**
+ * @return {number}
+ */
+ errors: function()
+ {
+ return this._errors;
+ },
+
+ /**
+ * @return {number}
+ */
+ revokedErrors: function()
+ {
+ return this._revokedErrors;
+ },
+
+ /**
+ * @return {number}
+ */
+ warnings: function()
+ {
+ return this._warnings;
+ },
+
__proto__: WebInspector.SDKModel.prototype
}
@@ -129,7 +167,7 @@ WebInspector.ConsoleModel.evaluateCommandInConsole = function(executionContext,
useCommandLineAPI = !!useCommandLineAPI;
var target = executionContext.target();
- var commandMessage = new WebInspector.ConsoleMessage(target, WebInspector.ConsoleMessage.MessageSource.JS, null, text, WebInspector.ConsoleMessage.MessageType.Command);
+ var commandMessage = new WebInspector.ConsoleMessage(target, 0, WebInspector.ConsoleMessage.MessageSource.JS, null, text, WebInspector.ConsoleMessage.MessageType.Command);
commandMessage.setExecutionContextId(executionContext.id);
target.consoleModel.addMessage(commandMessage);
@@ -160,6 +198,7 @@ WebInspector.ConsoleModel.evaluateCommandInConsole = function(executionContext,
/**
* @constructor
* @param {?WebInspector.Target} target
+ * @param {number} sequenceNumber
* @param {string} source
* @param {?string} level
* @param {string} messageText
@@ -174,10 +213,12 @@ WebInspector.ConsoleModel.evaluateCommandInConsole = function(executionContext,
* @param {!RuntimeAgent.ExecutionContextId=} executionContextId
* @param {!ConsoleAgent.AsyncStackTrace=} asyncStackTrace
* @param {?string=} scriptId
+ * @param {number=} relatedSequenceNumber
*/
-WebInspector.ConsoleMessage = function(target, source, level, messageText, type, url, line, column, requestId, parameters, stackTrace, timestamp, executionContextId, asyncStackTrace, scriptId)
+WebInspector.ConsoleMessage = function(target, sequenceNumber, source, level, messageText, type, url, line, column, requestId, parameters, stackTrace, timestamp, executionContextId, asyncStackTrace, scriptId, relatedSequenceNumber)
{
this._target = target;
+ this.sequenceNumber = sequenceNumber;
this.source = source;
this.level = level;
this.messageText = messageText;
@@ -195,6 +236,7 @@ WebInspector.ConsoleMessage = function(target, source, level, messageText, type,
this.executionContextId = executionContextId || 0;
this.asyncStackTrace = asyncStackTrace;
this.scriptId = scriptId || null;
+ this._relatedSequenceNumber = relatedSequenceNumber || 0;
this.request = requestId ? target.networkLog.requestForId(requestId) : null;
@@ -221,12 +263,11 @@ WebInspector.ConsoleMessage.prototype = {
},
/**
- * @param {!WebInspector.ConsoleMessage} originatingMessage
+ * @param {!WebInspector.ConsoleMessage} relatedMessage
*/
- setOriginatingMessage: function(originatingMessage)
+ setRelatedMessage: function(relatedMessage)
{
- this._originatingConsoleMessage = originatingMessage;
- this.executionContextId = originatingMessage.executionContextId;
+ this._relatedMessage = relatedMessage;
},
/**
@@ -240,9 +281,9 @@ WebInspector.ConsoleMessage.prototype = {
/**
* @return {?WebInspector.ConsoleMessage}
*/
- originatingMessage: function()
+ relatedMessage: function()
{
- return this._originatingConsoleMessage;
+ return this._relatedMessage;
},
/**
@@ -273,29 +314,6 @@ WebInspector.ConsoleMessage.prototype = {
},
/**
- * @return {!WebInspector.ConsoleMessage}
- */
- clone: function()
- {
- return new WebInspector.ConsoleMessage(
- this.target(),
- this.source,
- this.level,
- this.messageText,
- this.type,
- this.url,
- this.line,
- this.column,
- this.request ? this.request.requestId : undefined,
- this.parameters,
- this.stackTrace,
- this.timestamp,
- this.executionContextId,
- this.asyncStackTrace,
- this.scriptId);
- },
-
- /**
* @param {?WebInspector.ConsoleMessage} msg
* @return {boolean}
*/
@@ -304,6 +322,9 @@ WebInspector.ConsoleMessage.prototype = {
if (!msg)
return false;
+ if (this._relatedSequenceNumber || msg._relatedSequenceNumber)
+ return false;
+
if (!this._isEqualStackTraces(this.stackTrace, msg.stackTrace))
return false;
@@ -411,7 +432,8 @@ WebInspector.ConsoleMessage.MessageLevel = {
Info: "info",
Warning: "warning",
Error: "error",
- Debug: "debug"
+ Debug: "debug",
+ RevokedError: "revokedError"
};
/**
@@ -443,6 +465,7 @@ WebInspector.ConsoleDispatcher.prototype = {
{
var consoleMessage = new WebInspector.ConsoleMessage(
this._console.target(),
+ payload.sequenceNumber,
payload.source,
payload.level,
payload.text,
@@ -456,7 +479,8 @@ WebInspector.ConsoleDispatcher.prototype = {
payload.timestamp * 1000, // Convert to ms.
payload.executionContextId,
payload.asyncStackTrace,
- payload.scriptId);
+ payload.scriptId,
+ payload.relatedSequenceNumber);
this._console.addMessage(consoleMessage);
},

Powered by Google App Engine
This is Rietveld 408576698