| Index: third_party/WebKit/Source/devtools/front_end/formatter_worker/FormatterWorker.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/formatter_worker/FormatterWorker.js b/third_party/WebKit/Source/devtools/front_end/formatter_worker/FormatterWorker.js
|
| index b7c5227125f65e68446d940cad7340a2127a8f03..bd7e5d5bbbf7c9928befb802130284708dfc29a4 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/formatter_worker/FormatterWorker.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/formatter_worker/FormatterWorker.js
|
| @@ -69,6 +69,9 @@ self.onmessage = function(event) {
|
| case "parseCSS":
|
| WebInspector.parseCSS(params.content);
|
| break;
|
| + case "parseSCSS":
|
| + WebInspector.FormatterWorkerContentParser.parse(params.content, "text/x-scss");
|
| + break;
|
| case "javaScriptOutline":
|
| WebInspector.javaScriptOutline(params.content);
|
| break;
|
| @@ -228,3 +231,35 @@ WebInspector.format = function(mimeType, text, indentString)
|
| }
|
| postMessage(result);
|
| }
|
| +
|
| +/**
|
| + * @interface
|
| + */
|
| +WebInspector.FormatterWorkerContentParser = function() { }
|
| +
|
| +WebInspector.FormatterWorkerContentParser.prototype = {
|
| + /**
|
| + * @param {string} content
|
| + * @return {!Object}
|
| + */
|
| + parse: function(content) { }
|
| +}
|
| +
|
| +WebInspector.FormatterWorkerContentParser.parse = function(content, mimeType)
|
| +{
|
| + var extension = self.runtime.extensions(WebInspector.FormatterWorkerContentParser).find(findExtension);
|
| + console.assert(extension);
|
| + extension.instancePromise()
|
| + .then(instance => instance.parse(content))
|
| + .catchException(null)
|
| + .then(postMessage);
|
| +
|
| + /**
|
| + * @param {!Runtime.Extension} extension
|
| + * @return {boolean}
|
| + */
|
| + function findExtension(extension)
|
| + {
|
| + return extension.descriptor()["mimeType"] === mimeType;
|
| + }
|
| +}
|
|
|