| OLD | NEW |
| 1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 Coverage.CoverageListView = class extends UI.VBox { | 5 Coverage.CoverageListView = class extends UI.VBox { |
| 6 /** | 6 /** |
| 7 * @param {function(!Coverage.URLCoverageInfo):boolean} filterCallback | 7 * @param {function(!Coverage.URLCoverageInfo):boolean} filterCallback |
| 8 */ | 8 */ |
| 9 constructor(filterCallback) { | 9 constructor(filterCallback) { |
| 10 super(true); | 10 super(true); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 hadTreeUpdates = true; | 92 hadTreeUpdates = true; |
| 93 if (!shouldBeVisible) | 93 if (!shouldBeVisible) |
| 94 node.remove(); | 94 node.remove(); |
| 95 else | 95 else |
| 96 this._dataGrid.rootNode().appendChild(node); | 96 this._dataGrid.rootNode().appendChild(node); |
| 97 } | 97 } |
| 98 if (hadTreeUpdates) | 98 if (hadTreeUpdates) |
| 99 this._sortingChanged(); | 99 this._sortingChanged(); |
| 100 } | 100 } |
| 101 | 101 |
| 102 /** | 102 _onOpenedNode() { |
| 103 * @param {!Common.Event} event | 103 this._revealSourceForSelectedNode(); |
| 104 */ | |
| 105 _onOpenedNode(event) { | |
| 106 var node = /** @type Coverage.CoverageListView.GridNode */ (event.data); | |
| 107 this._revealSourceForNode(node); | |
| 108 } | 104 } |
| 109 | 105 |
| 110 /** | 106 /** |
| 111 * @param {!Event} event | 107 * @param {!Event} event |
| 112 */ | 108 */ |
| 113 _onKeyDown(event) { | 109 _onKeyDown(event) { |
| 114 if (!isEnterKey(event)) | 110 if (!isEnterKey(event)) |
| 115 return; | 111 return; |
| 116 event.consume(true); | 112 event.consume(true); |
| 117 this._revealSourceForNode(this._dataGrid.selectedNode); | 113 this._revealSourceForSelectedNode(); |
| 118 } | 114 } |
| 119 | 115 |
| 120 /** | 116 async _revealSourceForSelectedNode() { |
| 121 * @param {?DataGrid.DataGridNode} node | 117 var node = this._dataGrid.selectedNode; |
| 122 */ | |
| 123 async _revealSourceForNode(node) { | |
| 124 if (!node) | 118 if (!node) |
| 125 return; | 119 return; |
| 126 var coverageInfo = /** @type {!Coverage.CoverageListView.GridNode} */ (node)
._coverageInfo; | 120 var coverageInfo = /** @type {!Coverage.CoverageListView.GridNode} */ (node)
._coverageInfo; |
| 127 var sourceCode = Workspace.workspace.uiSourceCodeForURL(coverageInfo.url()); | 121 var sourceCode = Workspace.workspace.uiSourceCodeForURL(coverageInfo.url()); |
| 128 if (!sourceCode) | 122 if (!sourceCode) |
| 129 return; | 123 return; |
| 130 var content = await sourceCode.requestContent(); | 124 var content = await sourceCode.requestContent(); |
| 131 if (TextUtils.isMinified(content)) { | 125 if (TextUtils.isMinified(content)) { |
| 132 var formatData = await Sources.sourceFormatter.format(sourceCode); | 126 var formatData = await Sources.sourceFormatter.format(sourceCode); |
| 133 Common.Revealer.reveal(formatData.formattedSourceCode); | 127 // ------------ ASYNC ------------ |
| 134 } else { | 128 sourceCode = formatData.formattedSourceCode; |
| 135 Common.Revealer.reveal(sourceCode); | |
| 136 } | 129 } |
| 130 if (this._dataGrid.selectedNode !== node) |
| 131 return; |
| 132 Common.Revealer.reveal(sourceCode); |
| 137 } | 133 } |
| 138 | 134 |
| 139 _sortingChanged() { | 135 _sortingChanged() { |
| 140 var columnId = this._dataGrid.sortColumnId(); | 136 var columnId = this._dataGrid.sortColumnId(); |
| 141 if (!columnId) | 137 if (!columnId) |
| 142 return; | 138 return; |
| 143 var sortFunction; | 139 var sortFunction; |
| 144 switch (columnId) { | 140 switch (columnId) { |
| 145 case 'url': | 141 case 'url': |
| 146 sortFunction = compareURL; | 142 sortFunction = compareURL; |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 * @param {string} textContent | 297 * @param {string} textContent |
| 302 */ | 298 */ |
| 303 _highlight(element, textContent) { | 299 _highlight(element, textContent) { |
| 304 var matches = this._highlightRegExp.exec(textContent); | 300 var matches = this._highlightRegExp.exec(textContent); |
| 305 if (!matches || !matches.length) | 301 if (!matches || !matches.length) |
| 306 return; | 302 return; |
| 307 var range = new TextUtils.SourceRange(matches.index, matches[0].length); | 303 var range = new TextUtils.SourceRange(matches.index, matches[0].length); |
| 308 UI.highlightRangesWithStyleClass(element, [range], 'filter-highlight'); | 304 UI.highlightRangesWithStyleClass(element, [range], 'filter-highlight'); |
| 309 } | 305 } |
| 310 }; | 306 }; |
| OLD | NEW |