| Index: third_party/WebKit/Source/devtools/front_end/audits2/lighthouse/renderer/details-renderer.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/audits2/lighthouse/renderer/details-renderer.js b/third_party/WebKit/Source/devtools/front_end/audits2/lighthouse/renderer/details-renderer.js
|
| index b9b532275c26b857077e73a0a23d30cbb044be81..98c9375d17d5cc6ae9ef817b033853a95d546c24 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/audits2/lighthouse/renderer/details-renderer.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/audits2/lighthouse/renderer/details-renderer.js
|
| @@ -15,28 +15,29 @@
|
| */
|
| 'use strict';
|
|
|
| +/* globals self */
|
| +
|
| class DetailsRenderer {
|
| /**
|
| * @param {!DOM} dom
|
| */
|
| constructor(dom) {
|
| + /** @private {!DOM} */
|
| this._dom = dom;
|
| }
|
|
|
| /**
|
| - * @param {(!DetailsRenderer.DetailsJSON|!DetailsRenderer.CardsDetailsJSON)} details
|
| + * @param {!DetailsRenderer.DetailsJSON} details
|
| * @return {!Element}
|
| */
|
| render(details) {
|
| switch (details.type) {
|
| case 'text':
|
| return this._renderText(details);
|
| - case 'block':
|
| - return this._renderBlock(details);
|
| case 'cards':
|
| return this._renderCards(/** @type {!DetailsRenderer.CardsDetailsJSON} */ (details));
|
| case 'list':
|
| - return this._renderList(details);
|
| + return this._renderList(/** @type {!DetailsRenderer.ListDetailsJSON} */ (details));
|
| default:
|
| throw new Error(`Unknown type: ${details.type}`);
|
| }
|
| @@ -53,20 +54,7 @@ class DetailsRenderer {
|
| }
|
|
|
| /**
|
| - * @param {!DetailsRenderer.DetailsJSON} block
|
| - * @return {!Element}
|
| - */
|
| - _renderBlock(block) {
|
| - const element = this._dom.createElement('div', 'lh-block');
|
| - const items = block.items || [];
|
| - for (const item of items) {
|
| - element.appendChild(this.render(item));
|
| - }
|
| - return element;
|
| - }
|
| -
|
| - /**
|
| - * @param {!DetailsRenderer.DetailsJSON} list
|
| + * @param {!DetailsRenderer.ListDetailsJSON} list
|
| * @return {!Element}
|
| */
|
| _renderList(list) {
|
| @@ -78,8 +66,7 @@ class DetailsRenderer {
|
| }
|
|
|
| const itemsElem = this._dom.createElement('div', 'lh-list__items');
|
| - const items = list.items || [];
|
| - for (const item of items) {
|
| + for (const item of list.items) {
|
| itemsElem.appendChild(this.render(item));
|
| }
|
| element.appendChild(itemsElem);
|
| @@ -119,22 +106,30 @@ class DetailsRenderer {
|
|
|
| if (typeof module !== 'undefined' && module.exports) {
|
| module.exports = DetailsRenderer;
|
| +} else {
|
| + self.DetailsRenderer = DetailsRenderer;
|
| }
|
|
|
| /**
|
| * @typedef {{
|
| * type: string,
|
| - * text: (string|undefined),
|
| - * header: (!DetailsRenderer.DetailsJSON|undefined),
|
| - * items: (!Array<!DetailsRenderer.DetailsJSON>|undefined)
|
| + * text: (string|undefined)
|
| * }}
|
| */
|
| DetailsRenderer.DetailsJSON; // eslint-disable-line no-unused-expressions
|
|
|
| +/**
|
| + * @typedef {{
|
| + * type: string,
|
| + * header: ({text: string}|undefined),
|
| + * items: !Array<{type: string, text: (string|undefined)}>
|
| + * }}
|
| + */
|
| +DetailsRenderer.ListDetailsJSON; // eslint-disable-line no-unused-expressions
|
| +
|
| /** @typedef {{
|
| * type: string,
|
| - * text: string,
|
| - * header: !DetailsRenderer.DetailsJSON,
|
| + * header: ({text: string}|undefined),
|
| * items: !Array<{title: string, value: string, snippet: (string|undefined), target: string}>
|
| * }}
|
| */
|
|
|