Index: third_party/WebKit/Source/devtools/front_end/network/JSONView.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/network/JSONView.js b/third_party/WebKit/Source/devtools/front_end/network/JSONView.js |
index 7b830c80c254050031c592b118b5f78358a48a43..dafb969d0cd34e63aa4695a9db2f7e9e460ab6f7 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/network/JSONView.js |
+++ b/third_party/WebKit/Source/devtools/front_end/network/JSONView.js |
@@ -27,18 +27,18 @@ |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
- |
/** |
- * @constructor |
- * @extends {WebInspector.VBox} |
* @implements {WebInspector.Searchable} |
- * @param {!WebInspector.ParsedJSON} parsedJSON |
+ * @unrestricted |
*/ |
-WebInspector.JSONView = function(parsedJSON) |
-{ |
- WebInspector.VBox.call(this); |
+WebInspector.JSONView = class extends WebInspector.VBox { |
+ /** |
+ * @param {!WebInspector.ParsedJSON} parsedJSON |
+ */ |
+ constructor(parsedJSON) { |
+ super(); |
this._parsedJSON = parsedJSON; |
- this.element.classList.add("json-view"); |
+ this.element.classList.add('json-view'); |
/** @type {?WebInspector.SearchableView} */ |
this._searchableView; |
@@ -50,263 +50,251 @@ WebInspector.JSONView = function(parsedJSON) |
this._currentSearchTreeElements = []; |
/** @type {?RegExp} */ |
this._searchRegex = null; |
-}; |
+ } |
-/** |
- * @param {!WebInspector.ParsedJSON} parsedJSON |
- * @return {!WebInspector.SearchableView} |
- */ |
-WebInspector.JSONView.createSearchableView = function(parsedJSON) |
-{ |
+ /** |
+ * @param {!WebInspector.ParsedJSON} parsedJSON |
+ * @return {!WebInspector.SearchableView} |
+ */ |
+ static createSearchableView(parsedJSON) { |
var jsonView = new WebInspector.JSONView(parsedJSON); |
var searchableView = new WebInspector.SearchableView(jsonView); |
- searchableView.setPlaceholder(WebInspector.UIString("Find")); |
+ searchableView.setPlaceholder(WebInspector.UIString('Find')); |
jsonView._searchableView = searchableView; |
jsonView.show(searchableView.element); |
- jsonView.element.setAttribute("tabIndex", 0); |
+ jsonView.element.setAttribute('tabIndex', 0); |
return searchableView; |
-}; |
+ } |
-/** |
- * @param {?string} text |
- * @return {!Promise<?WebInspector.ParsedJSON>} |
- */ |
-WebInspector.JSONView.parseJSON = function(text) |
-{ |
+ /** |
+ * @param {?string} text |
+ * @return {!Promise<?WebInspector.ParsedJSON>} |
+ */ |
+ static parseJSON(text) { |
var returnObj = null; |
if (text) |
- returnObj = WebInspector.JSONView._extractJSON(/** @type {string} */ (text)); |
+ returnObj = WebInspector.JSONView._extractJSON(/** @type {string} */ (text)); |
if (!returnObj) |
- return Promise.resolve(/** @type {?WebInspector.ParsedJSON} */ (null)); |
- return WebInspector.formatterWorkerPool.runTask("relaxedJSONParser", {content: returnObj.data}) |
+ return Promise.resolve(/** @type {?WebInspector.ParsedJSON} */ (null)); |
+ return WebInspector.formatterWorkerPool.runTask('relaxedJSONParser', {content: returnObj.data}) |
.then(handleReturnedJSON); |
/** |
* @param {?MessageEvent} event |
* @return {?WebInspector.ParsedJSON} |
*/ |
- function handleReturnedJSON(event) |
- { |
- if (!event || !event.data) |
- return null; |
- returnObj.data = event.data; |
- return returnObj; |
+ function handleReturnedJSON(event) { |
+ if (!event || !event.data) |
+ return null; |
+ returnObj.data = event.data; |
+ return returnObj; |
} |
-}; |
+ } |
-/** |
- * @param {string} text |
- * @return {?WebInspector.ParsedJSON} |
- */ |
-WebInspector.JSONView._extractJSON = function(text) |
-{ |
+ /** |
+ * @param {string} text |
+ * @return {?WebInspector.ParsedJSON} |
+ */ |
+ static _extractJSON(text) { |
// Do not treat HTML as JSON. |
- if (text.startsWith("<")) |
- return null; |
- var inner = WebInspector.JSONView._findBrackets(text, "{", "}"); |
- var inner2 = WebInspector.JSONView._findBrackets(text, "[", "]"); |
+ if (text.startsWith('<')) |
+ return null; |
+ var inner = WebInspector.JSONView._findBrackets(text, '{', '}'); |
+ var inner2 = WebInspector.JSONView._findBrackets(text, '[', ']'); |
inner = inner2.length > inner.length ? inner2 : inner; |
// Return on blank payloads or on payloads significantly smaller than original text. |
if (inner.length === -1 || text.length - inner.length > 80) |
- return null; |
+ return null; |
var prefix = text.substring(0, inner.start); |
var suffix = text.substring(inner.end + 1); |
text = text.substring(inner.start, inner.end + 1); |
// Only process valid JSONP. |
- if (suffix.trim().length && !(suffix.trim().startsWith(")") && prefix.trim().endsWith("("))) |
- return null; |
+ if (suffix.trim().length && !(suffix.trim().startsWith(')') && prefix.trim().endsWith('('))) |
+ return null; |
return new WebInspector.ParsedJSON(text, prefix, suffix); |
-}; |
+ } |
-/** |
- * @param {string} text |
- * @param {string} open |
- * @param {string} close |
- * @return {{start: number, end: number, length: number}} |
- */ |
-WebInspector.JSONView._findBrackets = function(text, open, close) |
-{ |
+ /** |
+ * @param {string} text |
+ * @param {string} open |
+ * @param {string} close |
+ * @return {{start: number, end: number, length: number}} |
+ */ |
+ static _findBrackets(text, open, close) { |
var start = text.indexOf(open); |
var end = text.lastIndexOf(close); |
var length = end - start - 1; |
if (start === -1 || end === -1 || end < start) |
- length = -1; |
+ length = -1; |
return {start: start, end: end, length: length}; |
-}; |
+ } |
-WebInspector.JSONView.prototype = { |
- wasShown: function() |
- { |
- this._initialize(); |
- }, |
+ /** |
+ * @override |
+ */ |
+ wasShown() { |
+ this._initialize(); |
+ } |
- _initialize: function() |
- { |
- if (this._initialized) |
- return; |
- this._initialized = true; |
+ _initialize() { |
+ if (this._initialized) |
+ return; |
+ this._initialized = true; |
- var obj = WebInspector.RemoteObject.fromLocalObject(this._parsedJSON.data); |
- var title = this._parsedJSON.prefix + obj.description + this._parsedJSON.suffix; |
- this._treeOutline = new WebInspector.ObjectPropertiesSection(obj, title); |
- this._treeOutline.setEditable(false); |
- this._treeOutline.expand(); |
- this.element.appendChild(this._treeOutline.element); |
- }, |
+ var obj = WebInspector.RemoteObject.fromLocalObject(this._parsedJSON.data); |
+ var title = this._parsedJSON.prefix + obj.description + this._parsedJSON.suffix; |
+ this._treeOutline = new WebInspector.ObjectPropertiesSection(obj, title); |
+ this._treeOutline.setEditable(false); |
+ this._treeOutline.expand(); |
+ this.element.appendChild(this._treeOutline.element); |
+ } |
- /** |
- * @param {number} index |
- */ |
- _jumpToMatch: function(index) |
- { |
- if (!this._searchRegex) |
- return; |
- var previousFocusElement = this._currentSearchTreeElements[this._currentSearchFocusIndex]; |
- if (previousFocusElement) |
- previousFocusElement.setSearchRegex(this._searchRegex); |
+ /** |
+ * @param {number} index |
+ */ |
+ _jumpToMatch(index) { |
+ if (!this._searchRegex) |
+ return; |
+ var previousFocusElement = this._currentSearchTreeElements[this._currentSearchFocusIndex]; |
+ if (previousFocusElement) |
+ previousFocusElement.setSearchRegex(this._searchRegex); |
- var newFocusElement = this._currentSearchTreeElements[index]; |
- if (newFocusElement) { |
- this._updateSearchIndex(index); |
- newFocusElement.setSearchRegex(this._searchRegex, WebInspector.highlightedCurrentSearchResultClassName); |
- newFocusElement.reveal(); |
- } else { |
- this._updateSearchIndex(0); |
- } |
- }, |
- |
- /** |
- * @param {number} count |
- */ |
- _updateSearchCount: function(count) |
- { |
- if (!this._searchableView) |
- return; |
- this._searchableView.updateSearchMatchesCount(count); |
- }, |
+ var newFocusElement = this._currentSearchTreeElements[index]; |
+ if (newFocusElement) { |
+ this._updateSearchIndex(index); |
+ newFocusElement.setSearchRegex(this._searchRegex, WebInspector.highlightedCurrentSearchResultClassName); |
+ newFocusElement.reveal(); |
+ } else { |
+ this._updateSearchIndex(0); |
+ } |
+ } |
- /** |
- * @param {number} index |
- */ |
- _updateSearchIndex: function(index) |
- { |
- this._currentSearchFocusIndex = index; |
- if (!this._searchableView) |
- return; |
- this._searchableView.updateCurrentMatchIndex(index); |
- }, |
+ /** |
+ * @param {number} count |
+ */ |
+ _updateSearchCount(count) { |
+ if (!this._searchableView) |
+ return; |
+ this._searchableView.updateSearchMatchesCount(count); |
+ } |
- /** |
- * @override |
- */ |
- searchCanceled: function() |
- { |
- this._searchRegex = null; |
- this._currentSearchTreeElements = []; |
+ /** |
+ * @param {number} index |
+ */ |
+ _updateSearchIndex(index) { |
+ this._currentSearchFocusIndex = index; |
+ if (!this._searchableView) |
+ return; |
+ this._searchableView.updateCurrentMatchIndex(index); |
+ } |
- for (var element = this._treeOutline.rootElement(); element; element = element.traverseNextTreeElement(false)) { |
- if (!(element instanceof WebInspector.ObjectPropertyTreeElement)) |
- continue; |
- element.revertHighlightChanges(); |
- } |
- this._updateSearchCount(0); |
- this._updateSearchIndex(0); |
- }, |
+ /** |
+ * @override |
+ */ |
+ searchCanceled() { |
+ this._searchRegex = null; |
+ this._currentSearchTreeElements = []; |
- /** |
- * @override |
- * @param {!WebInspector.SearchableView.SearchConfig} searchConfig |
- * @param {boolean} shouldJump |
- * @param {boolean=} jumpBackwards |
- */ |
- performSearch: function(searchConfig, shouldJump, jumpBackwards) |
- { |
- var newIndex = this._currentSearchFocusIndex; |
- var previousSearchFocusElement = this._currentSearchTreeElements[newIndex]; |
- this.searchCanceled(); |
- this._searchRegex = searchConfig.toSearchRegex(true); |
+ for (var element = this._treeOutline.rootElement(); element; element = element.traverseNextTreeElement(false)) { |
+ if (!(element instanceof WebInspector.ObjectPropertyTreeElement)) |
+ continue; |
+ element.revertHighlightChanges(); |
+ } |
+ this._updateSearchCount(0); |
+ this._updateSearchIndex(0); |
+ } |
- for (var element = this._treeOutline.rootElement(); element; element = element.traverseNextTreeElement(false)) { |
- if (!(element instanceof WebInspector.ObjectPropertyTreeElement)) |
- continue; |
- var hasMatch = element.setSearchRegex(this._searchRegex); |
- if (hasMatch) |
- this._currentSearchTreeElements.push(element); |
- if (previousSearchFocusElement === element) { |
- var currentIndex = this._currentSearchTreeElements.length - 1; |
- if (hasMatch || jumpBackwards) |
- newIndex = currentIndex; |
- else |
- newIndex = currentIndex + 1; |
- } |
- } |
- this._updateSearchCount(this._currentSearchTreeElements.length); |
+ /** |
+ * @override |
+ * @param {!WebInspector.SearchableView.SearchConfig} searchConfig |
+ * @param {boolean} shouldJump |
+ * @param {boolean=} jumpBackwards |
+ */ |
+ performSearch(searchConfig, shouldJump, jumpBackwards) { |
+ var newIndex = this._currentSearchFocusIndex; |
+ var previousSearchFocusElement = this._currentSearchTreeElements[newIndex]; |
+ this.searchCanceled(); |
+ this._searchRegex = searchConfig.toSearchRegex(true); |
- if (!this._currentSearchTreeElements.length) { |
- this._updateSearchIndex(0); |
- return; |
- } |
- newIndex = mod(newIndex, this._currentSearchTreeElements.length); |
+ for (var element = this._treeOutline.rootElement(); element; element = element.traverseNextTreeElement(false)) { |
+ if (!(element instanceof WebInspector.ObjectPropertyTreeElement)) |
+ continue; |
+ var hasMatch = element.setSearchRegex(this._searchRegex); |
+ if (hasMatch) |
+ this._currentSearchTreeElements.push(element); |
+ if (previousSearchFocusElement === element) { |
+ var currentIndex = this._currentSearchTreeElements.length - 1; |
+ if (hasMatch || jumpBackwards) |
+ newIndex = currentIndex; |
+ else |
+ newIndex = currentIndex + 1; |
+ } |
+ } |
+ this._updateSearchCount(this._currentSearchTreeElements.length); |
- this._jumpToMatch(newIndex); |
- }, |
+ if (!this._currentSearchTreeElements.length) { |
+ this._updateSearchIndex(0); |
+ return; |
+ } |
+ newIndex = mod(newIndex, this._currentSearchTreeElements.length); |
- /** |
- * @override |
- */ |
- jumpToNextSearchResult: function() |
- { |
- if (!this._currentSearchTreeElements.length) |
- return; |
- var newIndex = mod(this._currentSearchFocusIndex + 1, this._currentSearchTreeElements.length); |
- this._jumpToMatch(newIndex); |
- }, |
+ this._jumpToMatch(newIndex); |
+ } |
- /** |
- * @override |
- */ |
- jumpToPreviousSearchResult: function() |
- { |
- if (!this._currentSearchTreeElements.length) |
- return; |
- var newIndex = mod(this._currentSearchFocusIndex - 1, this._currentSearchTreeElements.length); |
- this._jumpToMatch(newIndex); |
- }, |
+ /** |
+ * @override |
+ */ |
+ jumpToNextSearchResult() { |
+ if (!this._currentSearchTreeElements.length) |
+ return; |
+ var newIndex = mod(this._currentSearchFocusIndex + 1, this._currentSearchTreeElements.length); |
+ this._jumpToMatch(newIndex); |
+ } |
- /** |
- * @override |
- * @return {boolean} |
- */ |
- supportsCaseSensitiveSearch: function() |
- { |
- return true; |
- }, |
+ /** |
+ * @override |
+ */ |
+ jumpToPreviousSearchResult() { |
+ if (!this._currentSearchTreeElements.length) |
+ return; |
+ var newIndex = mod(this._currentSearchFocusIndex - 1, this._currentSearchTreeElements.length); |
+ this._jumpToMatch(newIndex); |
+ } |
- /** |
- * @override |
- * @return {boolean} |
- */ |
- supportsRegexSearch: function() |
- { |
- return true; |
- }, |
+ /** |
+ * @override |
+ * @return {boolean} |
+ */ |
+ supportsCaseSensitiveSearch() { |
+ return true; |
+ } |
- __proto__: WebInspector.VBox.prototype |
+ /** |
+ * @override |
+ * @return {boolean} |
+ */ |
+ supportsRegexSearch() { |
+ return true; |
+ } |
}; |
+ |
/** |
- * @constructor |
- * @param {*} data |
- * @param {string} prefix |
- * @param {string} suffix |
+ * @unrestricted |
*/ |
-WebInspector.ParsedJSON = function(data, prefix, suffix) |
-{ |
+WebInspector.ParsedJSON = class { |
+ /** |
+ * @param {*} data |
+ * @param {string} prefix |
+ * @param {string} suffix |
+ */ |
+ constructor(data, prefix, suffix) { |
this.data = data; |
this.prefix = prefix; |
this.suffix = suffix; |
+ } |
}; |