Index: third_party/WebKit/Source/devtools/front_end/sources/ScriptFormatter.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/ScriptFormatter.js b/third_party/WebKit/Source/devtools/front_end/sources/ScriptFormatter.js |
index ea669f3a9bdb741bee0e0e580035a42179877383..fa7361b047dcac1d7fc53f6735c247f0c2802885 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/sources/ScriptFormatter.js |
+++ b/third_party/WebKit/Source/devtools/front_end/sources/ScriptFormatter.js |
@@ -27,13 +27,10 @@ |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
- |
/** |
* @interface |
*/ |
-WebInspector.Formatter = function() |
-{ |
-}; |
+WebInspector.Formatter = function() {}; |
/** |
* @param {!WebInspector.ResourceType} contentType |
@@ -41,12 +38,11 @@ WebInspector.Formatter = function() |
* @param {string} content |
* @param {function(string, !WebInspector.FormatterSourceMapping)} callback |
*/ |
-WebInspector.Formatter.format = function(contentType, mimeType, content, callback) |
-{ |
- if (contentType.isDocumentOrScriptOrStyleSheet()) |
- new WebInspector.ScriptFormatter(mimeType, content, callback); |
- else |
- new WebInspector.IdentityFormatter(mimeType, content, callback); |
+WebInspector.Formatter.format = function(contentType, mimeType, content, callback) { |
+ if (contentType.isDocumentOrScriptOrStyleSheet()) |
+ new WebInspector.ScriptFormatter(mimeType, content, callback); |
+ else |
+ new WebInspector.IdentityFormatter(mimeType, content, callback); |
}; |
/** |
@@ -55,10 +51,9 @@ WebInspector.Formatter.format = function(contentType, mimeType, content, callbac |
* @param {number} columnNumber |
* @return {number} |
*/ |
-WebInspector.Formatter.locationToPosition = function(lineEndings, lineNumber, columnNumber) |
-{ |
- var position = lineNumber ? lineEndings[lineNumber - 1] + 1 : 0; |
- return position + columnNumber; |
+WebInspector.Formatter.locationToPosition = function(lineEndings, lineNumber, columnNumber) { |
+ var position = lineNumber ? lineEndings[lineNumber - 1] + 1 : 0; |
+ return position + columnNumber; |
}; |
/** |
@@ -66,65 +61,67 @@ WebInspector.Formatter.locationToPosition = function(lineEndings, lineNumber, co |
* @param {number} position |
* @return {!Array.<number>} |
*/ |
-WebInspector.Formatter.positionToLocation = function(lineEndings, position) |
-{ |
- var lineNumber = lineEndings.upperBound(position - 1); |
- if (!lineNumber) |
- var columnNumber = position; |
- else |
- var columnNumber = position - lineEndings[lineNumber - 1] - 1; |
- return [lineNumber, columnNumber]; |
+WebInspector.Formatter.positionToLocation = function(lineEndings, position) { |
+ var lineNumber = lineEndings.upperBound(position - 1); |
+ if (!lineNumber) |
+ var columnNumber = position; |
+ else |
+ var columnNumber = position - lineEndings[lineNumber - 1] - 1; |
+ return [lineNumber, columnNumber]; |
}; |
/** |
- * @constructor |
* @implements {WebInspector.Formatter} |
- * @param {string} mimeType |
- * @param {string} content |
- * @param {function(string, !WebInspector.FormatterSourceMapping)} callback |
+ * @unrestricted |
*/ |
-WebInspector.ScriptFormatter = function(mimeType, content, callback) |
-{ |
- content = content.replace(/\r\n?|[\n\u2028\u2029]/g, "\n").replace(/^\uFEFF/, ""); |
+WebInspector.ScriptFormatter = class { |
+ /** |
+ * @param {string} mimeType |
+ * @param {string} content |
+ * @param {function(string, !WebInspector.FormatterSourceMapping)} callback |
+ */ |
+ constructor(mimeType, content, callback) { |
+ content = content.replace(/\r\n?|[\n\u2028\u2029]/g, '\n').replace(/^\uFEFF/, ''); |
this._callback = callback; |
this._originalContent = content; |
var parameters = { |
- mimeType: mimeType, |
- content: content, |
- indentString: WebInspector.moduleSetting("textEditorIndent").get() |
+ mimeType: mimeType, |
+ content: content, |
+ indentString: WebInspector.moduleSetting('textEditorIndent').get() |
}; |
- WebInspector.formatterWorkerPool.runTask("format", parameters) |
- .then(this._didFormatContent.bind(this)); |
-}; |
- |
-WebInspector.ScriptFormatter.prototype = { |
- /** |
- * @param {?MessageEvent} event |
- */ |
- _didFormatContent: function(event) |
- { |
- var formattedContent = ""; |
- var mapping = []; |
- if (event) { |
- formattedContent = event.data.content; |
- mapping = event.data["mapping"]; |
- } |
- var sourceMapping = new WebInspector.FormatterSourceMappingImpl(this._originalContent.computeLineEndings(), formattedContent.computeLineEndings(), mapping); |
- this._callback(formattedContent, sourceMapping); |
+ WebInspector.formatterWorkerPool.runTask('format', parameters).then(this._didFormatContent.bind(this)); |
+ } |
+ |
+ /** |
+ * @param {?MessageEvent} event |
+ */ |
+ _didFormatContent(event) { |
+ var formattedContent = ''; |
+ var mapping = []; |
+ if (event) { |
+ formattedContent = event.data.content; |
+ mapping = event.data['mapping']; |
} |
+ var sourceMapping = new WebInspector.FormatterSourceMappingImpl( |
+ this._originalContent.computeLineEndings(), formattedContent.computeLineEndings(), mapping); |
+ this._callback(formattedContent, sourceMapping); |
+ } |
}; |
/** |
- * @constructor |
* @implements {WebInspector.Formatter} |
- * @param {string} mimeType |
- * @param {string} content |
- * @param {function(string, !WebInspector.FormatterSourceMapping)} callback |
+ * @unrestricted |
*/ |
-WebInspector.IdentityFormatter = function(mimeType, content, callback) |
-{ |
+WebInspector.IdentityFormatter = class { |
+ /** |
+ * @param {string} mimeType |
+ * @param {string} content |
+ * @param {function(string, !WebInspector.FormatterSourceMapping)} callback |
+ */ |
+ constructor(mimeType, content, callback) { |
callback(content, new WebInspector.IdentityFormatterSourceMapping()); |
+ } |
}; |
/** |
@@ -135,111 +132,104 @@ WebInspector.FormatterMappingPayload; |
/** |
* @interface |
*/ |
-WebInspector.FormatterSourceMapping = function() |
-{ |
-}; |
+WebInspector.FormatterSourceMapping = function() {}; |
WebInspector.FormatterSourceMapping.prototype = { |
- /** |
- * @param {number} lineNumber |
- * @param {number=} columnNumber |
- * @return {!Array.<number>} |
- */ |
- originalToFormatted: function(lineNumber, columnNumber) { }, |
- |
- /** |
- * @param {number} lineNumber |
- * @param {number=} columnNumber |
- * @return {!Array.<number>} |
- */ |
- formattedToOriginal: function(lineNumber, columnNumber) { } |
+ /** |
+ * @param {number} lineNumber |
+ * @param {number=} columnNumber |
+ * @return {!Array.<number>} |
+ */ |
+ originalToFormatted: function(lineNumber, columnNumber) {}, |
+ |
+ /** |
+ * @param {number} lineNumber |
+ * @param {number=} columnNumber |
+ * @return {!Array.<number>} |
+ */ |
+ formattedToOriginal: function(lineNumber, columnNumber) {} |
}; |
/** |
- * @constructor |
* @implements {WebInspector.FormatterSourceMapping} |
+ * @unrestricted |
*/ |
-WebInspector.IdentityFormatterSourceMapping = function() |
-{ |
-}; |
- |
-WebInspector.IdentityFormatterSourceMapping.prototype = { |
- /** |
- * @override |
- * @param {number} lineNumber |
- * @param {number=} columnNumber |
- * @return {!Array.<number>} |
- */ |
- originalToFormatted: function(lineNumber, columnNumber) |
- { |
- return [lineNumber, columnNumber || 0]; |
- }, |
- |
- /** |
- * @override |
- * @param {number} lineNumber |
- * @param {number=} columnNumber |
- * @return {!Array.<number>} |
- */ |
- formattedToOriginal: function(lineNumber, columnNumber) |
- { |
- return [lineNumber, columnNumber || 0]; |
- } |
+WebInspector.IdentityFormatterSourceMapping = class { |
+ /** |
+ * @override |
+ * @param {number} lineNumber |
+ * @param {number=} columnNumber |
+ * @return {!Array.<number>} |
+ */ |
+ originalToFormatted(lineNumber, columnNumber) { |
+ return [lineNumber, columnNumber || 0]; |
+ } |
+ |
+ /** |
+ * @override |
+ * @param {number} lineNumber |
+ * @param {number=} columnNumber |
+ * @return {!Array.<number>} |
+ */ |
+ formattedToOriginal(lineNumber, columnNumber) { |
+ return [lineNumber, columnNumber || 0]; |
+ } |
}; |
/** |
- * @constructor |
* @implements {WebInspector.FormatterSourceMapping} |
- * @param {!Array.<number>} originalLineEndings |
- * @param {!Array.<number>} formattedLineEndings |
- * @param {!WebInspector.FormatterMappingPayload} mapping |
+ * @unrestricted |
*/ |
-WebInspector.FormatterSourceMappingImpl = function(originalLineEndings, formattedLineEndings, mapping) |
-{ |
+WebInspector.FormatterSourceMappingImpl = class { |
+ /** |
+ * @param {!Array.<number>} originalLineEndings |
+ * @param {!Array.<number>} formattedLineEndings |
+ * @param {!WebInspector.FormatterMappingPayload} mapping |
+ */ |
+ constructor(originalLineEndings, formattedLineEndings, mapping) { |
this._originalLineEndings = originalLineEndings; |
this._formattedLineEndings = formattedLineEndings; |
this._mapping = mapping; |
-}; |
- |
-WebInspector.FormatterSourceMappingImpl.prototype = { |
- /** |
- * @override |
- * @param {number} lineNumber |
- * @param {number=} columnNumber |
- * @return {!Array.<number>} |
- */ |
- originalToFormatted: function(lineNumber, columnNumber) |
- { |
- var originalPosition = WebInspector.Formatter.locationToPosition(this._originalLineEndings, lineNumber, columnNumber || 0); |
- var formattedPosition = this._convertPosition(this._mapping.original, this._mapping.formatted, originalPosition || 0); |
- return WebInspector.Formatter.positionToLocation(this._formattedLineEndings, formattedPosition); |
- }, |
- |
- /** |
- * @override |
- * @param {number} lineNumber |
- * @param {number=} columnNumber |
- * @return {!Array.<number>} |
- */ |
- formattedToOriginal: function(lineNumber, columnNumber) |
- { |
- var formattedPosition = WebInspector.Formatter.locationToPosition(this._formattedLineEndings, lineNumber, columnNumber || 0); |
- var originalPosition = this._convertPosition(this._mapping.formatted, this._mapping.original, formattedPosition); |
- return WebInspector.Formatter.positionToLocation(this._originalLineEndings, originalPosition || 0); |
- }, |
- |
- /** |
- * @param {!Array.<number>} positions1 |
- * @param {!Array.<number>} positions2 |
- * @param {number} position |
- * @return {number} |
- */ |
- _convertPosition: function(positions1, positions2, position) |
- { |
- var index = positions1.upperBound(position) - 1; |
- var convertedPosition = positions2[index] + position - positions1[index]; |
- if (index < positions2.length - 1 && convertedPosition > positions2[index + 1]) |
- convertedPosition = positions2[index + 1]; |
- return convertedPosition; |
- } |
+ } |
+ |
+ /** |
+ * @override |
+ * @param {number} lineNumber |
+ * @param {number=} columnNumber |
+ * @return {!Array.<number>} |
+ */ |
+ originalToFormatted(lineNumber, columnNumber) { |
+ var originalPosition = |
+ WebInspector.Formatter.locationToPosition(this._originalLineEndings, lineNumber, columnNumber || 0); |
+ var formattedPosition = |
+ this._convertPosition(this._mapping.original, this._mapping.formatted, originalPosition || 0); |
+ return WebInspector.Formatter.positionToLocation(this._formattedLineEndings, formattedPosition); |
+ } |
+ |
+ /** |
+ * @override |
+ * @param {number} lineNumber |
+ * @param {number=} columnNumber |
+ * @return {!Array.<number>} |
+ */ |
+ formattedToOriginal(lineNumber, columnNumber) { |
+ var formattedPosition = |
+ WebInspector.Formatter.locationToPosition(this._formattedLineEndings, lineNumber, columnNumber || 0); |
+ var originalPosition = this._convertPosition(this._mapping.formatted, this._mapping.original, formattedPosition); |
+ return WebInspector.Formatter.positionToLocation(this._originalLineEndings, originalPosition || 0); |
+ } |
+ |
+ /** |
+ * @param {!Array.<number>} positions1 |
+ * @param {!Array.<number>} positions2 |
+ * @param {number} position |
+ * @return {number} |
+ */ |
+ _convertPosition(positions1, positions2, position) { |
+ var index = positions1.upperBound(position) - 1; |
+ var convertedPosition = positions2[index] + position - positions1[index]; |
+ if (index < positions2.length - 1 && convertedPosition > positions2[index + 1]) |
+ convertedPosition = positions2[index + 1]; |
+ return convertedPosition; |
+ } |
}; |