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 3215d2ac1e9de6663046caa125b4dcb3baf8e728..aeb492cec5b417fb2ad1565a9b187343014b9b70 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js |
+++ b/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js |
@@ -50,6 +50,10 @@ Console.ConsoleViewMessage = class { |
this._searchRegex = null; |
/** @type {?UI.Icon} */ |
this._messageLevelIcon = null; |
+ /** @type {!Element|undefined} */ |
+ this._timestampElement; |
luoe
2017/01/28 01:01:22
Drive by
|
+ /** @type {!Element|undefined} */ |
+ this._contextIcon; |
} |
/** |
@@ -824,11 +828,12 @@ Console.ConsoleViewMessage = class { |
var format = Common.moduleSetting('consoleTimestampFormat').get(); |
if (format !== Console.ConsoleViewMessage.TimestampFormat.None) { |
var timestampText = formatTimestamp(this._message.timestamp, format); |
- if (!this._timestampElement) |
+ if (!this._timestampElement) { |
this._timestampElement = createElementWithClass('span', 'console-timestamp'); |
+ this._contentElement.insertBefore(this._timestampElement, this._contentElement.firstChild); |
+ } |
luoe
2017/01/28 01:01:22
Drive by change
|
this._timestampElement.textContent = timestampText + ' '; |
this._timestampElement.title = timestampText; |
- this._contentElement.insertBefore(this._timestampElement, this._contentElement.firstChild); |
} else if (this._timestampElement) { |
this._timestampElement.remove(); |
delete this._timestampElement; |
@@ -861,6 +866,46 @@ Console.ConsoleViewMessage = class { |
} |
} |
+ updateContextLabel() { |
+ var target = this._target(); |
+ if (!this._contentElement || !target) |
+ return; |
+ |
+ var show = Common.moduleSetting('consoleContextLabelsEnabled').get(); |
+ if (show && !this._contextIcon) { |
+ var subTargetsManager = SDK.SubTargetsManager.fromTarget(target); |
+ var mainTarget = target.targetManager().mainTarget(); |
+ var targetInfo; |
+ if (subTargetsManager) |
+ targetInfo = subTargetsManager.targetInfo(target); |
+ else if (mainTarget && mainTarget.subTargetsManager) |
+ targetInfo = mainTarget.subTargetsManager.targetInfo(target); |
+ var targetType = targetInfo ? targetInfo.type : null; |
+ var messageContext = target.runtimeModel.executionContext(this._message.executionContextId); |
+ |
+ if (messageContext && messageContext.frameId && !Console.ConsoleContextSelector.isTopContext(messageContext)) { |
+ if (messageContext.isDefault) |
+ this._contextIcon = UI.Icon.create('smallicon-frame', 'console-context-icon'); |
+ else |
+ this._contextIcon = UI.Icon.create('smallicon-extension', 'console-context-icon'); |
+ } else if (targetType === 'service_worker' || targetType === 'worker') { |
+ this._contextIcon = UI.Icon.create('smallicon-worker', 'console-context-icon'); |
+ } |
+ |
+ if (this._contextIcon) { |
+ var subTargetName = subTargetsManager ? subTargetsManager.target().name() : null; |
+ var title = subTargetName || target.name(); |
+ if (messageContext) |
+ title = Console.ConsoleContextSelector.titleForContext(messageContext).trim(); |
+ this._contextIcon.title = title; |
+ this._contentElement.insertBefore(this._contextIcon, this._contentElement.firstChild); |
+ } |
+ } else if (this._contextIcon && !show) { |
+ this._contextIcon.remove(); |
+ delete this._contextIcon; |
+ } |
+ } |
+ |
/** |
* @return {number} |
*/ |
@@ -920,6 +965,7 @@ Console.ConsoleViewMessage = class { |
formattedMessage = this._buildMessage(consoleMessage); |
contentElement.appendChild(formattedMessage); |
+ this.updateContextLabel(); |
this.updateTimestamp(); |
return this._contentElement; |
} |