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}> |
* }} |
*/ |