| 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
|
| deleted file mode 100644
|
| index bacfad79353f590a3faca7bfa19994017d09b332..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/Source/devtools/front_end/product_registry/BadgePool.js
|
| +++ /dev/null
|
| @@ -1,156 +0,0 @@
|
| -// Copyright 2017 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -ProductRegistry.BadgePool = class {
|
| - constructor() {
|
| - this._setting = Common.settings.moduleSetting('product_registry.badges-visible');
|
| - this._setting.addChangeListener(this._settingUpdated.bind(this));
|
| - /** @type {!Map<!Element, function():!Promise<!Common.ParsedURL>>}*/
|
| - this._badgeElements = new Map();
|
| - }
|
| -
|
| - /**
|
| - * @param {!SDK.ResourceTreeFrame} frame
|
| - * @return {!Element}
|
| - */
|
| - badgeForFrame(frame) {
|
| - return this._badgeForFrameOrUrl(this._resolveUrl.bind(this, frame));
|
| - }
|
| -
|
| - /**
|
| - * @param {!Common.ParsedURL} parsedUrl
|
| - * @return {!Element}
|
| - */
|
| - badgeForURL(parsedUrl) {
|
| - return this._badgeForFrameOrUrl(() => Promise.resolve(parsedUrl));
|
| - }
|
| -
|
| - reset() {
|
| - this._badgeElements.clear();
|
| - }
|
| -
|
| - /**
|
| - * @param {function():!Promise<!Common.ParsedURL>} urlResolver
|
| - * @return {!Element}
|
| - */
|
| - _badgeForFrameOrUrl(urlResolver) {
|
| - var element = createElement('span');
|
| - var root = UI.createShadowRootWithCoreStyles(element, 'product_registry/badge.css');
|
| - var badgeElement = root.createChild('span', 'product-registry-badge monospace hidden');
|
| - badgeElement.textContent = ' ';
|
| - 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);
|
| - return element;
|
| - }
|
| -
|
| - /**
|
| - * @param {?SDK.ResourceTreeFrame} frame
|
| - * @return {!Promise<!Common.ParsedURL>}
|
| - */
|
| - async _resolveUrl(frame) {
|
| - var registry = await ProductRegistry.instance();
|
| - var parsedUrl = new Common.ParsedURL(frame.url);
|
| - var entry = registry.entryForUrl(parsedUrl);
|
| - if (!entry) {
|
| - frame.findCreationCallFrame(callFrame => {
|
| - if (!callFrame.url)
|
| - return false;
|
| - parsedUrl = new Common.ParsedURL(callFrame.url);
|
| - return !!registry.entryForUrl(parsedUrl);
|
| - });
|
| - }
|
| - return parsedUrl;
|
| - }
|
| -
|
| - /**
|
| - * @param {!Element} badgeElement
|
| - */
|
| - async _renderBadge(badgeElement) {
|
| - if (!this._badgeElements.has(badgeElement))
|
| - return;
|
| -
|
| - var registry = await ProductRegistry.instance();
|
| - var parsedUrl = await this._badgeElements.get(badgeElement)();
|
| - var entryName = registry.nameForUrl(parsedUrl);
|
| -
|
| - if (!entryName) {
|
| - badgeElement.textContent = ' ';
|
| - badgeElement.style.removeProperty('background-color');
|
| - 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;
|
| -
|
| - badgeElement.textContent = label.substring(0, 2).toUpperCase();
|
| - badgeElement.style.backgroundColor = ProductRegistry.BadgePool.colorForEntryName(entryName);
|
| - badgeElement.classList.toggle('hidden', !this._setting.get());
|
| - }
|
| -
|
| - _settingUpdated() {
|
| - var enabled = this._setting.get();
|
| - if (!enabled) {
|
| - for (var badgeElement of this._badgeElements.keys())
|
| - badgeElement.classList.add('hidden');
|
| - return;
|
| - }
|
| - for (var badgeElement of this._badgeElements.keys())
|
| - this._renderBadge(badgeElement);
|
| - }
|
| -
|
| - /**
|
| - * @param {!Element} badgeElement
|
| - */
|
| - async _showPopup(badgeElement) {
|
| - if (!this._badgeElements.has(badgeElement))
|
| - return;
|
| -
|
| - var registry = await ProductRegistry.instance();
|
| - var parsedUrl = await this._badgeElements.get(badgeElement)();
|
| - var entryName = registry.nameForUrl(parsedUrl);
|
| -
|
| - var element = createElement('div');
|
| - var root = UI.createShadowRootWithCoreStyles(element, 'product_registry/popup.css');
|
| - var popupElement = root.createChild('div', 'product-registry-popup');
|
| - var domainElement = popupElement.createChild('div', 'product-registry-domain');
|
| - domainElement.textContent = parsedUrl.domain();
|
| - var entryNameElement = popupElement.createChild('div', 'product-registry-name');
|
| - entryNameElement.textContent = entryName;
|
| - var reportLink =
|
| - 'https://docs.google.com/forms/d/e/1FAIpQLSchz2FdcQ-rRllzl8BbhWaTRRY-12BpPjW6Hr9e1-BpCA083w/viewform' +
|
| - '?entry_1425918171=' + encodeURIComponent((parsedUrl.domain() + parsedUrl.path).substr(0, 100));
|
| - popupElement.appendChild(UI.createExternalLink(reportLink, 'Report mismatch', 'product-registry-link'));
|
| -
|
| - var dialog = new UI.Dialog();
|
| - dialog.setContentAnchorBox(badgeElement.boxInWindow());
|
| - dialog.contentElement.appendChild(element);
|
| - dialog.setSizeBehavior(UI.GlassPane.SizeBehavior.MeasureContent);
|
| - dialog.setAnchorBehavior(UI.GlassPane.AnchorBehavior.PreferTop);
|
| - dialog.addCloseButton();
|
| - dialog.show(/** @type {!Document} */ (badgeElement.ownerDocument));
|
| - }
|
| -
|
| - /**
|
| - * @param {string} entryName
|
| - * @return {string}
|
| - */
|
| - static colorForEntryName(entryName) {
|
| - if (!ProductRegistry.BadgePool._colorGenerator) {
|
| - ProductRegistry.BadgePool._colorGenerator =
|
| - new Common.Color.Generator({min: 30, max: 330}, {min: 50, max: 80, count: 3}, 85);
|
| - }
|
| - return ProductRegistry.BadgePool._colorGenerator.colorForID(entryName);
|
| - }
|
| -};
|
|
|