Index: third_party/WebKit/Source/devtools/front_end/common/FormatterWorkerPool.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/common/FormatterWorkerPool.js b/third_party/WebKit/Source/devtools/front_end/common/FormatterWorkerPool.js |
index ce10eacae1932557d6f03dc4f61aa243637d580f..31a2ec5956b7337ac6926012fc2894f2e56f4eaa 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/common/FormatterWorkerPool.js |
+++ b/third_party/WebKit/Source/devtools/front_end/common/FormatterWorkerPool.js |
@@ -1,125 +1,117 @@ |
// Copyright 2016 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
- |
/** |
- * @constructor |
+ * @unrestricted |
*/ |
-WebInspector.FormatterWorkerPool = function() |
-{ |
+WebInspector.FormatterWorkerPool = class { |
+ constructor() { |
this._taskQueue = []; |
/** @type {!Map<!WebInspector.Worker, ?WebInspector.FormatterWorkerPool.Task>} */ |
this._workerTasks = new Map(); |
-}; |
- |
-WebInspector.FormatterWorkerPool.MaxWorkers = 2; |
+ } |
-WebInspector.FormatterWorkerPool.prototype = { |
- /** |
- * @return {!WebInspector.Worker} |
- */ |
- _createWorker: function() |
- { |
- var worker = new WebInspector.Worker("formatter_worker"); |
- worker.onmessage = this._onWorkerMessage.bind(this, worker); |
- worker.onerror = this._onWorkerError.bind(this, worker); |
- return worker; |
- }, |
+ /** |
+ * @return {!WebInspector.Worker} |
+ */ |
+ _createWorker() { |
+ var worker = new WebInspector.Worker('formatter_worker'); |
+ worker.onmessage = this._onWorkerMessage.bind(this, worker); |
+ worker.onerror = this._onWorkerError.bind(this, worker); |
+ return worker; |
+ } |
- _processNextTask: function() |
- { |
- if (!this._taskQueue.length) |
- return; |
+ _processNextTask() { |
+ if (!this._taskQueue.length) |
+ return; |
- var freeWorker = this._workerTasks.keysArray().find(worker => !this._workerTasks.get(worker)); |
- if (!freeWorker && this._workerTasks.size < WebInspector.FormatterWorkerPool.MaxWorkers) |
- freeWorker = this._createWorker(); |
- if (!freeWorker) |
- return; |
+ var freeWorker = this._workerTasks.keysArray().find(worker => !this._workerTasks.get(worker)); |
+ if (!freeWorker && this._workerTasks.size < WebInspector.FormatterWorkerPool.MaxWorkers) |
+ freeWorker = this._createWorker(); |
+ if (!freeWorker) |
+ return; |
- var task = this._taskQueue.shift(); |
- this._workerTasks.set(freeWorker, task); |
- freeWorker.postMessage({ |
- method: task.method, |
- params: task.params |
- }); |
- }, |
+ var task = this._taskQueue.shift(); |
+ this._workerTasks.set(freeWorker, task); |
+ freeWorker.postMessage({method: task.method, params: task.params}); |
+ } |
- /** |
- * @param {!WebInspector.Worker} worker |
- * @param {!MessageEvent} event |
- */ |
- _onWorkerMessage: function(worker, event) |
- { |
- var task = this._workerTasks.get(worker); |
- if (task.isChunked && event.data && !event.data["isLastChunk"]) { |
- task.callback(event); |
- return; |
- } |
+ /** |
+ * @param {!WebInspector.Worker} worker |
+ * @param {!MessageEvent} event |
+ */ |
+ _onWorkerMessage(worker, event) { |
+ var task = this._workerTasks.get(worker); |
+ if (task.isChunked && event.data && !event.data['isLastChunk']) { |
+ task.callback(event); |
+ return; |
+ } |
- this._workerTasks.set(worker, null); |
- this._processNextTask(); |
- task.callback(event.data ? event : null); |
- }, |
+ this._workerTasks.set(worker, null); |
+ this._processNextTask(); |
+ task.callback(event.data ? event : null); |
+ } |
- /** |
- * @param {!WebInspector.Worker} worker |
- * @param {!Event} event |
- */ |
- _onWorkerError: function(worker, event) |
- { |
- console.error(event); |
- var task = this._workerTasks.get(worker); |
- worker.terminate(); |
- this._workerTasks.delete(worker); |
+ /** |
+ * @param {!WebInspector.Worker} worker |
+ * @param {!Event} event |
+ */ |
+ _onWorkerError(worker, event) { |
+ console.error(event); |
+ var task = this._workerTasks.get(worker); |
+ worker.terminate(); |
+ this._workerTasks.delete(worker); |
- var newWorker = this._createWorker(); |
- this._workerTasks.set(newWorker, null); |
- this._processNextTask(); |
- task.callback(null); |
- }, |
+ var newWorker = this._createWorker(); |
+ this._workerTasks.set(newWorker, null); |
+ this._processNextTask(); |
+ task.callback(null); |
+ } |
- /** |
- * @param {string} methodName |
- * @param {!Object<string, string>} params |
- * @param {function(?MessageEvent)} callback |
- */ |
- runChunkedTask: function(methodName, params, callback) |
- { |
- var task = new WebInspector.FormatterWorkerPool.Task(methodName, params, callback, true); |
- this._taskQueue.push(task); |
- this._processNextTask(); |
- }, |
+ /** |
+ * @param {string} methodName |
+ * @param {!Object<string, string>} params |
+ * @param {function(?MessageEvent)} callback |
+ */ |
+ runChunkedTask(methodName, params, callback) { |
+ var task = new WebInspector.FormatterWorkerPool.Task(methodName, params, callback, true); |
+ this._taskQueue.push(task); |
+ this._processNextTask(); |
+ } |
- /** |
- * @param {string} methodName |
- * @param {!Object<string, string>} params |
- * @return {!Promise<?MessageEvent>} |
- */ |
- runTask: function(methodName, params) |
- { |
- var callback; |
- var promise = new Promise(fulfill => callback = fulfill); |
- var task = new WebInspector.FormatterWorkerPool.Task(methodName, params, callback, false); |
- this._taskQueue.push(task); |
- this._processNextTask(); |
- return promise; |
- }, |
+ /** |
+ * @param {string} methodName |
+ * @param {!Object<string, string>} params |
+ * @return {!Promise<?MessageEvent>} |
+ */ |
+ runTask(methodName, params) { |
+ var callback; |
+ var promise = new Promise(fulfill => callback = fulfill); |
+ var task = new WebInspector.FormatterWorkerPool.Task(methodName, params, callback, false); |
+ this._taskQueue.push(task); |
+ this._processNextTask(); |
+ return promise; |
+ } |
}; |
+WebInspector.FormatterWorkerPool.MaxWorkers = 2; |
+ |
/** |
- * @constructor |
- * @param {string} method |
- * @param {!Object<string, string>} params |
- * @param {function(?MessageEvent)} callback |
- * @param {boolean=} isChunked |
+ * @unrestricted |
*/ |
-WebInspector.FormatterWorkerPool.Task = function(method, params, callback, isChunked) |
-{ |
+WebInspector.FormatterWorkerPool.Task = class { |
+ /** |
+ * @param {string} method |
+ * @param {!Object<string, string>} params |
+ * @param {function(?MessageEvent)} callback |
+ * @param {boolean=} isChunked |
+ */ |
+ constructor(method, params, callback, isChunked) { |
this.method = method; |
this.params = params; |
this.callback = callback; |
this.isChunked = isChunked; |
+ } |
}; |
/** @type {!WebInspector.FormatterWorkerPool} */ |