Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Unified Diff: third_party/WebKit/Source/devtools/front_end/sources/FilteredUISourceCodeListDelegate.js

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/sources/FilteredUISourceCodeListDelegate.js
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/FilteredUISourceCodeListDelegate.js b/third_party/WebKit/Source/devtools/front_end/sources/FilteredUISourceCodeListDelegate.js
index 8baf1ed08a50ca8c295c0d15fd2eb407d04e74a7..a4381daeed48a10e447edcf60bc12fc5964cbe36 100644
--- a/third_party/WebKit/Source/devtools/front_end/sources/FilteredUISourceCodeListDelegate.js
+++ b/third_party/WebKit/Source/devtools/front_end/sources/FilteredUISourceCodeListDelegate.js
@@ -3,224 +3,213 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-
/**
- * @constructor
- * @extends {WebInspector.FilteredListWidget.Delegate}
- * @param {!Map.<!WebInspector.UISourceCode, number>=} defaultScores
- * @param {!Array<string>=} history
+ * @unrestricted
*/
-WebInspector.FilteredUISourceCodeListDelegate = function(defaultScores, history)
-{
- WebInspector.FilteredListWidget.Delegate.call(this, history || []);
+WebInspector.FilteredUISourceCodeListDelegate = class extends WebInspector.FilteredListWidget.Delegate {
+ /**
+ * @param {!Map.<!WebInspector.UISourceCode, number>=} defaultScores
+ * @param {!Array<string>=} history
+ */
+ constructor(defaultScores, history) {
+ super(history || []);
this._defaultScores = defaultScores;
- this._scorer = new WebInspector.FilePathScoreFunction("");
- WebInspector.workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeAdded, this._uiSourceCodeAdded, this);
+ this._scorer = new WebInspector.FilePathScoreFunction('');
+ WebInspector.workspace.addEventListener(
+ WebInspector.Workspace.Events.UISourceCodeAdded, this._uiSourceCodeAdded, this);
WebInspector.workspace.addEventListener(WebInspector.Workspace.Events.ProjectRemoved, this._projectRemoved, this);
-};
-
-WebInspector.FilteredUISourceCodeListDelegate.prototype = {
- /**
- * @param {!WebInspector.Event} event
- */
- _projectRemoved: function(event)
- {
- var project = /** @type {!WebInspector.Project} */ (event.data);
- this.populate(project);
- this.refresh();
- },
-
- /**
- * @protected
- * @param {!WebInspector.Project=} skipProject
- */
- populate: function(skipProject)
- {
- /** @type {!Array.<!WebInspector.UISourceCode>} */
- this._uiSourceCodes = [];
- var projects = WebInspector.workspace.projects().filter(this.filterProject.bind(this));
- for (var i = 0; i < projects.length; ++i) {
- if (skipProject && projects[i] === skipProject)
- continue;
- var uiSourceCodes = projects[i].uiSourceCodes().filter(this._filterUISourceCode.bind(this));
- this._uiSourceCodes = this._uiSourceCodes.concat(uiSourceCodes);
- }
- },
-
- /**
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @return {boolean}
- */
- _filterUISourceCode: function(uiSourceCode)
- {
- var binding = WebInspector.persistence.binding(uiSourceCode);
- return !binding || binding.network === uiSourceCode;
- },
-
- /**
- * @param {?WebInspector.UISourceCode} uiSourceCode
- * @param {number=} lineNumber
- * @param {number=} columnNumber
- */
- uiSourceCodeSelected: function(uiSourceCode, lineNumber, columnNumber)
- {
- // Overridden by subclasses
- },
-
- /**
- * @param {!WebInspector.Project} project
- * @return {boolean}
- */
- filterProject: function(project)
- {
- return true;
- // Overridden by subclasses
- },
-
- /**
- * @override
- * @return {number}
- */
- itemCount: function()
- {
- return this._uiSourceCodes.length;
- },
-
- /**
- * @override
- * @param {number} itemIndex
- * @return {string}
- */
- itemKeyAt: function(itemIndex)
- {
- return this._uiSourceCodes[itemIndex].url();
- },
-
- /**
- * @override
- * @param {number} itemIndex
- * @param {string} query
- * @return {number}
- */
- itemScoreAt: function(itemIndex, query)
- {
- var uiSourceCode = this._uiSourceCodes[itemIndex];
- var score = this._defaultScores ? (this._defaultScores.get(uiSourceCode) || 0) : 0;
- if (!query || query.length < 2)
- return score;
-
- if (this._query !== query) {
- this._query = query;
- this._scorer = new WebInspector.FilePathScoreFunction(query);
- }
-
- var url = uiSourceCode.url();
- return score + 10 * this._scorer.score(url, null);
- },
-
- /**
- * @override
- * @param {number} itemIndex
- * @param {string} query
- * @param {!Element} titleElement
- * @param {!Element} subtitleElement
- */
- renderItem: function(itemIndex, query, titleElement, subtitleElement)
- {
- query = this.rewriteQuery(query);
- var uiSourceCode = this._uiSourceCodes[itemIndex];
- var fullDisplayName = uiSourceCode.fullDisplayName();
- var indexes = [];
- var score = new WebInspector.FilePathScoreFunction(query).score(fullDisplayName, indexes);
- var fileNameIndex = fullDisplayName.lastIndexOf("/");
-
- titleElement.textContent = uiSourceCode.displayName() + (this._queryLineNumberAndColumnNumber || "");
- this._renderSubtitleElement(subtitleElement, fullDisplayName);
- subtitleElement.title = fullDisplayName;
- var ranges = [];
- for (var i = 0; i < indexes.length; ++i)
- ranges.push({offset: indexes[i], length: 1});
-
- if (indexes[0] > fileNameIndex) {
- for (var i = 0; i < ranges.length; ++i)
- ranges[i].offset -= fileNameIndex + 1;
- WebInspector.highlightRangesWithStyleClass(titleElement, ranges, "highlight");
- } else {
- WebInspector.highlightRangesWithStyleClass(subtitleElement, ranges, "highlight");
- }
- },
-
- /**
- * @param {!Element} element
- * @param {string} text
- */
- _renderSubtitleElement: function(element, text)
- {
- element.removeChildren();
- var splitPosition = text.lastIndexOf("/");
- if (text.length > 55)
- splitPosition = text.length - 55;
- var first = element.createChild("div", "first-part");
- first.textContent = text.substring(0, splitPosition);
- var second = element.createChild("div", "second-part");
- second.textContent = text.substring(splitPosition);
- element.title = text;
- },
-
- /**
- * @override
- * @param {?number} itemIndex
- * @param {string} promptValue
- */
- selectItem: function(itemIndex, promptValue)
- {
- var parsedExpression = promptValue.trim().match(/^([^:]*)(:\d+)?(:\d+)?$/);
- if (!parsedExpression)
- return;
-
- var lineNumber;
- var columnNumber;
- if (parsedExpression[2])
- lineNumber = parseInt(parsedExpression[2].substr(1), 10) - 1;
- if (parsedExpression[3])
- columnNumber = parseInt(parsedExpression[3].substr(1), 10) - 1;
- var uiSourceCode = itemIndex !== null ? this._uiSourceCodes[itemIndex] : null;
- this.uiSourceCodeSelected(uiSourceCode, lineNumber, columnNumber);
- },
-
- /**
- * @override
- * @param {string} query
- * @return {string}
- */
- rewriteQuery: function(query)
- {
- if (!query)
- return query;
- query = query.trim();
- var lineNumberMatch = query.match(/^([^:]+)((?::[^:]*){0,2})$/);
- this._queryLineNumberAndColumnNumber = lineNumberMatch ? lineNumberMatch[2] : "";
- return lineNumberMatch ? lineNumberMatch[1] : query;
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _uiSourceCodeAdded: function(event)
- {
- var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (event.data);
- if (!this._filterUISourceCode(uiSourceCode) || !this.filterProject(uiSourceCode.project()))
- return;
- this._uiSourceCodes.push(uiSourceCode);
- this.refresh();
- },
-
- dispose: function()
- {
- WebInspector.workspace.removeEventListener(WebInspector.Workspace.Events.UISourceCodeAdded, this._uiSourceCodeAdded, this);
- WebInspector.workspace.removeEventListener(WebInspector.Workspace.Events.ProjectRemoved, this._projectRemoved, this);
- },
-
- __proto__: WebInspector.FilteredListWidget.Delegate.prototype
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _projectRemoved(event) {
+ var project = /** @type {!WebInspector.Project} */ (event.data);
+ this.populate(project);
+ this.refresh();
+ }
+
+ /**
+ * @protected
+ * @param {!WebInspector.Project=} skipProject
+ */
+ populate(skipProject) {
+ /** @type {!Array.<!WebInspector.UISourceCode>} */
+ this._uiSourceCodes = [];
+ var projects = WebInspector.workspace.projects().filter(this.filterProject.bind(this));
+ for (var i = 0; i < projects.length; ++i) {
+ if (skipProject && projects[i] === skipProject)
+ continue;
+ var uiSourceCodes = projects[i].uiSourceCodes().filter(this._filterUISourceCode.bind(this));
+ this._uiSourceCodes = this._uiSourceCodes.concat(uiSourceCodes);
+ }
+ }
+
+ /**
+ * @param {!WebInspector.UISourceCode} uiSourceCode
+ * @return {boolean}
+ */
+ _filterUISourceCode(uiSourceCode) {
+ var binding = WebInspector.persistence.binding(uiSourceCode);
+ return !binding || binding.network === uiSourceCode;
+ }
+
+ /**
+ * @param {?WebInspector.UISourceCode} uiSourceCode
+ * @param {number=} lineNumber
+ * @param {number=} columnNumber
+ */
+ uiSourceCodeSelected(uiSourceCode, lineNumber, columnNumber) {
+ // Overridden by subclasses
+ }
+
+ /**
+ * @param {!WebInspector.Project} project
+ * @return {boolean}
+ */
+ filterProject(project) {
+ return true;
+ // Overridden by subclasses
+ }
+
+ /**
+ * @override
+ * @return {number}
+ */
+ itemCount() {
+ return this._uiSourceCodes.length;
+ }
+
+ /**
+ * @override
+ * @param {number} itemIndex
+ * @return {string}
+ */
+ itemKeyAt(itemIndex) {
+ return this._uiSourceCodes[itemIndex].url();
+ }
+
+ /**
+ * @override
+ * @param {number} itemIndex
+ * @param {string} query
+ * @return {number}
+ */
+ itemScoreAt(itemIndex, query) {
+ var uiSourceCode = this._uiSourceCodes[itemIndex];
+ var score = this._defaultScores ? (this._defaultScores.get(uiSourceCode) || 0) : 0;
+ if (!query || query.length < 2)
+ return score;
+
+ if (this._query !== query) {
+ this._query = query;
+ this._scorer = new WebInspector.FilePathScoreFunction(query);
+ }
+
+ var url = uiSourceCode.url();
+ return score + 10 * this._scorer.score(url, null);
+ }
+
+ /**
+ * @override
+ * @param {number} itemIndex
+ * @param {string} query
+ * @param {!Element} titleElement
+ * @param {!Element} subtitleElement
+ */
+ renderItem(itemIndex, query, titleElement, subtitleElement) {
+ query = this.rewriteQuery(query);
+ var uiSourceCode = this._uiSourceCodes[itemIndex];
+ var fullDisplayName = uiSourceCode.fullDisplayName();
+ var indexes = [];
+ var score = new WebInspector.FilePathScoreFunction(query).score(fullDisplayName, indexes);
+ var fileNameIndex = fullDisplayName.lastIndexOf('/');
+
+ titleElement.textContent = uiSourceCode.displayName() + (this._queryLineNumberAndColumnNumber || '');
+ this._renderSubtitleElement(subtitleElement, fullDisplayName);
+ subtitleElement.title = fullDisplayName;
+ var ranges = [];
+ for (var i = 0; i < indexes.length; ++i)
+ ranges.push({offset: indexes[i], length: 1});
+
+ if (indexes[0] > fileNameIndex) {
+ for (var i = 0; i < ranges.length; ++i)
+ ranges[i].offset -= fileNameIndex + 1;
+ WebInspector.highlightRangesWithStyleClass(titleElement, ranges, 'highlight');
+ } else {
+ WebInspector.highlightRangesWithStyleClass(subtitleElement, ranges, 'highlight');
+ }
+ }
+
+ /**
+ * @param {!Element} element
+ * @param {string} text
+ */
+ _renderSubtitleElement(element, text) {
+ element.removeChildren();
+ var splitPosition = text.lastIndexOf('/');
+ if (text.length > 55)
+ splitPosition = text.length - 55;
+ var first = element.createChild('div', 'first-part');
+ first.textContent = text.substring(0, splitPosition);
+ var second = element.createChild('div', 'second-part');
+ second.textContent = text.substring(splitPosition);
+ element.title = text;
+ }
+
+ /**
+ * @override
+ * @param {?number} itemIndex
+ * @param {string} promptValue
+ */
+ selectItem(itemIndex, promptValue) {
+ var parsedExpression = promptValue.trim().match(/^([^:]*)(:\d+)?(:\d+)?$/);
+ if (!parsedExpression)
+ return;
+
+ var lineNumber;
+ var columnNumber;
+ if (parsedExpression[2])
+ lineNumber = parseInt(parsedExpression[2].substr(1), 10) - 1;
+ if (parsedExpression[3])
+ columnNumber = parseInt(parsedExpression[3].substr(1), 10) - 1;
+ var uiSourceCode = itemIndex !== null ? this._uiSourceCodes[itemIndex] : null;
+ this.uiSourceCodeSelected(uiSourceCode, lineNumber, columnNumber);
+ }
+
+ /**
+ * @override
+ * @param {string} query
+ * @return {string}
+ */
+ rewriteQuery(query) {
+ if (!query)
+ return query;
+ query = query.trim();
+ var lineNumberMatch = query.match(/^([^:]+)((?::[^:]*){0,2})$/);
+ this._queryLineNumberAndColumnNumber = lineNumberMatch ? lineNumberMatch[2] : '';
+ return lineNumberMatch ? lineNumberMatch[1] : query;
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _uiSourceCodeAdded(event) {
+ var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (event.data);
+ if (!this._filterUISourceCode(uiSourceCode) || !this.filterProject(uiSourceCode.project()))
+ return;
+ this._uiSourceCodes.push(uiSourceCode);
+ this.refresh();
+ }
+
+ /**
+ * @override
+ */
+ dispose() {
+ WebInspector.workspace.removeEventListener(
+ WebInspector.Workspace.Events.UISourceCodeAdded, this._uiSourceCodeAdded, this);
+ WebInspector.workspace.removeEventListener(
+ WebInspector.Workspace.Events.ProjectRemoved, this._projectRemoved, this);
+ }
};

Powered by Google App Engine
This is Rietveld 408576698