| // Copyright 2017 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. |
| |
| /** |
| * @param {!Protocol.Network.ResourcePriority} priority |
| * @return {string} |
| */ |
| PerfUI.uiLabelForNetworkPriority = function(priority) { |
| return PerfUI._priorityUILabelMap().get(priority) || ''; |
| }; |
| |
| /** |
| * @param {string} priorityLabel |
| * @return {string} |
| */ |
| PerfUI.uiLabelToNetworkPriority = function(priorityLabel) { |
| if (!PerfUI._uiLabelToPriorityMapInstance) { |
| /** @type {!Map<string, !Protocol.Network.ResourcePriority>} */ |
| PerfUI._uiLabelToPriorityMapInstance = new Map(); |
| PerfUI._priorityUILabelMap().forEach((value, key) => PerfUI._uiLabelToPriorityMapInstance.set(value, key)); |
| } |
| return PerfUI._uiLabelToPriorityMapInstance.get(priorityLabel) || ''; |
| }; |
| |
| /** |
| * @return {!Map<!Protocol.Network.ResourcePriority, string>} |
| */ |
| PerfUI._priorityUILabelMap = function() { |
| if (PerfUI._priorityUILabelMapInstance) { |
| return PerfUI._priorityUILabelMapInstance; |
| } |
| |
| /** @type {!Map<!Protocol.Network.ResourcePriority, string>} */ |
| const map = new Map(); |
| map.set(Protocol.Network.ResourcePriority.VeryLow, Common.UIString('Lowest')); |
| map.set(Protocol.Network.ResourcePriority.Low, Common.UIString('Low')); |
| map.set(Protocol.Network.ResourcePriority.Medium, Common.UIString('Medium')); |
| map.set(Protocol.Network.ResourcePriority.High, Common.UIString('High')); |
| map.set(Protocol.Network.ResourcePriority.VeryHigh, Common.UIString('Highest')); |
| PerfUI._priorityUILabelMapInstance = map; |
| return map; |
| }; |
| |
| /** |
| * @param {!Protocol.Network.ResourcePriority} priority |
| * @return {number} |
| */ |
| PerfUI.networkPriorityWeight = function(priority) { |
| if (!PerfUI._networkPriorityWeights) { |
| /** @type {!Map<!Protocol.Network.ResourcePriority, number>} */ |
| const priorityMap = new Map(); |
| priorityMap.set(Protocol.Network.ResourcePriority.VeryLow, 1); |
| priorityMap.set(Protocol.Network.ResourcePriority.Low, 2); |
| priorityMap.set(Protocol.Network.ResourcePriority.Medium, 3); |
| priorityMap.set(Protocol.Network.ResourcePriority.High, 4); |
| priorityMap.set(Protocol.Network.ResourcePriority.VeryHigh, 5); |
| PerfUI._networkPriorityWeights = priorityMap; |
| } |
| return PerfUI._networkPriorityWeights.get(priority) || 0; |
| }; |