Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/product_registry/BadgePool.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/product_registry/BadgePool.js b/third_party/WebKit/Source/devtools/front_end/product_registry/BadgePool.js |
| index 133d8dff23c3ea4deb40f433c8d4cf438ed092ae..2b44e6f8038aa4987e7900f62403afcd19d319bb 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/product_registry/BadgePool.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/product_registry/BadgePool.js |
| @@ -12,18 +12,20 @@ ProductRegistry.BadgePool = class { |
| /** |
| * @param {!SDK.ResourceTreeFrame} frame |
| + * @param {boolean=} showName |
| * @return {!Element} |
| */ |
| - badgeForFrame(frame) { |
| - return this._badgeForFrameOrUrl(this._resolveUrl.bind(this, frame)); |
| + badgeForFrame(frame, showName) { |
| + return this._badgeForFrameOrUrl(this._resolveUrl.bind(this, frame), showName); |
| } |
| /** |
| * @param {!Common.ParsedURL} parsedUrl |
| + * @param {boolean=} showName |
| * @return {!Element} |
| */ |
| - badgeForURL(parsedUrl) { |
| - return this._badgeForFrameOrUrl(() => Promise.resolve(parsedUrl)); |
| + badgeForURL(parsedUrl, showName) { |
| + return this._badgeForFrameOrUrl(() => Promise.resolve(parsedUrl), showName); |
| } |
| reset() { |
| @@ -32,20 +34,19 @@ ProductRegistry.BadgePool = class { |
| /** |
| * @param {function():!Promise<!Common.ParsedURL>} urlResolver |
| + * @param {boolean=} showName |
| * @return {!Element} |
| */ |
| - _badgeForFrameOrUrl(urlResolver) { |
| + _badgeForFrameOrUrl(urlResolver, showName) { |
| var element = createElement('span'); |
| var root = UI.createShadowRootWithCoreStyles(element, 'product_registry/badge.css'); |
| - var badgeElement = root.createChild('span', 'product-registry-badge monospace hidden'); |
| - badgeElement.setAttribute('data-initial', ' '); |
| - badgeElement.title = ''; |
| + var badgeElement = root.createChild('span'); |
| + badgeElement.classList.toggle('hide-badge-title', !showName); |
|
pfeldman
2017/05/18 20:18:33
'hide'
alph
2017/05/18 22:56:02
Done.
|
| badgeElement.addEventListener('mousedown', event => event.consume()); |
| badgeElement.addEventListener('click', event => { |
| this._showPopup(badgeElement); |
| event.consume(); |
| }, false); |
| - |
| this._badgeElements.set(badgeElement, urlResolver); |
| if (this._setting.get()) |
| this._renderBadge(badgeElement); |
| @@ -72,33 +73,30 @@ ProductRegistry.BadgePool = class { |
| } |
| /** |
| - * @param {!Element} badgeElement |
| + * @param {!Element} element |
| */ |
| - async _renderBadge(badgeElement) { |
| + async _renderBadge(element) { |
|
pfeldman
2017/05/18 20:18:33
I thought you could do it in one line.
alph
2017/05/18 22:56:02
I can't
|
| var registry = await ProductRegistry.instance(); |
| - if (!this._badgeElements.has(badgeElement)) |
| + if (!this._badgeElements.has(element)) |
| return; |
| - var parsedUrl = await this._badgeElements.get(badgeElement)(); |
| - var entryName = registry.nameForUrl(parsedUrl); |
| + element.removeChildren(); |
| + element.classList.add('hidden'); |
| - if (!entryName) { |
| - badgeElement.setAttribute('data-initial', ' '); |
| - badgeElement.title = ''; |
| - badgeElement.style.removeProperty('background-color'); |
| + var parsedUrl = await this._badgeElements.get(element)(); |
| + var entryName = registry.nameForUrl(parsedUrl); |
| + if (!entryName) |
| return; |
| - } |
| - var label; |
| var tokens = entryName.replace(/[a-z]*/g, '').split(' '); |
| - if (tokens.length > 1) |
| - label = tokens[0][0] + tokens[1][0]; |
| - else |
| - label = entryName; |
| + var label = tokens.length > 1 ? tokens[0][0] + tokens[1][0] : entryName; |
| + var badgeElement = element.createChild('span', 'product-registry-badge monospace'); |
| badgeElement.setAttribute('data-initial', label.substring(0, 2).toUpperCase()); |
| badgeElement.title = entryName; |
| badgeElement.style.backgroundColor = ProductRegistry.BadgePool.colorForEntryName(entryName); |
| - badgeElement.classList.toggle('hidden', !this._setting.get()); |
| + |
| + element.createChild('span', 'badge-title').textContent = entryName; |
| + element.classList.toggle('hidden', !this._setting.get()); |
| } |
| _settingUpdated() { |