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/ConsoleContextSelector.js

Issue 2623143002: DevTools: insert console message decorations in order
Patch Set: ac Created 3 years, 11 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: third_party/WebKit/Source/devtools/front_end/console/ConsoleContextSelector.js
diff --git a/third_party/WebKit/Source/devtools/front_end/console/ConsoleContextSelector.js b/third_party/WebKit/Source/devtools/front_end/console/ConsoleContextSelector.js
index a7436d5c505ba9c66b9712175e72f9dd6e057f53..c6c0d3fbee6436d88c7ac4a7bb54bbb5ea6fa3d8 100644
--- a/third_party/WebKit/Source/devtools/front_end/console/ConsoleContextSelector.js
+++ b/third_party/WebKit/Source/devtools/front_end/console/ConsoleContextSelector.js
@@ -7,6 +7,28 @@
*/
Console.ConsoleContextSelector = class {
/**
+ * @param {!SDK.ExecutionContext} executionContext
+ * @param {boolean} formatForSelector
+ * @return {string}
+ */
+ static titleForContext(executionContext, formatForSelector) {
+ var result = executionContext.label(formatForSelector /* showStatus */) || executionContext.origin;
+ if (executionContext.isDefault && executionContext.frameId) {
+ var resourceTreeModel = SDK.ResourceTreeModel.fromTarget(executionContext.target());
+ var frame = resourceTreeModel && resourceTreeModel.frameForId(executionContext.frameId);
+ result = frame ? frame.displayName() : result;
+ }
+ result = executionContext.target().decorateLabel(result);
luoe 2017/01/19 23:22:59 It turns out that browser extensions can load dedi
+
+ if (formatForSelector) {
+ if (!executionContext.isDefault)
+ result = '\u00a0\u00a0\u00a0\u00a0' + result;
+ result = result.trimMiddle(50);
+ }
luoe 2017/01/19 23:22:59 Since the presentation logic for titles in the sel
+ return result;
+ }
+
+ /**
* @param {!Element} selectElement
*/
constructor(selectElement) {
@@ -30,28 +52,6 @@ Console.ConsoleContextSelector = class {
/**
* @param {!SDK.ExecutionContext} executionContext
- * @return {string}
- */
- _titleFor(executionContext) {
- var result;
- if (executionContext.isDefault) {
- if (executionContext.frameId) {
- var resourceTreeModel = SDK.ResourceTreeModel.fromTarget(executionContext.target());
- var frame = resourceTreeModel && resourceTreeModel.frameForId(executionContext.frameId);
- result = frame ? frame.displayName() : executionContext.label();
- } else {
- result = executionContext.target().decorateLabel(executionContext.label());
- }
- } else {
- result = '\u00a0\u00a0\u00a0\u00a0' + (executionContext.label() || executionContext.origin);
- }
-
- var maxLength = 50;
- return result.trimMiddle(maxLength);
- }
-
- /**
- * @param {!SDK.ExecutionContext} executionContext
*/
_executionContextCreated(executionContext) {
// FIXME(413886): We never want to show execution context for the main thread of shadow page in service/shared worker frontend.
@@ -61,7 +61,7 @@ Console.ConsoleContextSelector = class {
var newOption = createElement('option');
newOption.__executionContext = executionContext;
- newOption.text = this._titleFor(executionContext);
+ newOption.text = Console.ConsoleContextSelector.titleForContext(executionContext, true /* formatForSelector */);
this._optionByExecutionContext.set(executionContext, newOption);
var options = this._selectElement.options;
var contexts = Array.prototype.map.call(options, mapping);
@@ -96,7 +96,7 @@ Console.ConsoleContextSelector = class {
var executionContext = /** @type {!SDK.ExecutionContext} */ (event.data);
var option = this._optionByExecutionContext.get(executionContext);
if (option)
- option.text = this._titleFor(executionContext);
+ option.text = Console.ConsoleContextSelector.titleForContext(executionContext, true /* formatForSelector */);
this._updateSelectionWarning();
}

Powered by Google App Engine
This is Rietveld 408576698