Index: ui/webui/resources/js/i18n_template_no_process.js |
diff --git a/ui/webui/resources/js/i18n_template_no_process.js b/ui/webui/resources/js/i18n_template_no_process.js |
index 6dd85f40c67b9acce20252bbcf7eb0e491285c11..2ae2ebdddf284a8ab886ebfd2f3d97184b72f485 100644 |
--- a/ui/webui/resources/js/i18n_template_no_process.js |
+++ b/ui/webui/resources/js/i18n_template_no_process.js |
@@ -41,7 +41,7 @@ var i18nTemplate = (function() { |
* @param {!HTMLElement} element The node to modify. |
* @param {string} key The name of the value in |data|. |
* @param {!LoadTimeData} data The data source to draw from. |
- * @param {!Array<ProcessingRoot>} visited |
+ * @param {!Set<ProcessingRoot>} visited |
*/ |
'i18n-content': function(element, key, data, visited) { |
element.textContent = data.getString(key); |
@@ -55,7 +55,7 @@ var i18nTemplate = (function() { |
* if a pair, represents [content, value]. Otherwise, it should be a |
* content string with no value. |
* @param {!LoadTimeData} data The data source to draw from. |
- * @param {!Array<ProcessingRoot>} visited |
+ * @param {!Set<ProcessingRoot>} visited |
*/ |
'i18n-options': function(select, key, data, visited) { |
var options = data.getValue(key); |
@@ -77,7 +77,7 @@ var i18nTemplate = (function() { |
* followed by a colon, and the name of the value in |data|. |
* Multiple attribute/key pairs may be separated by semicolons. |
* @param {!LoadTimeData} data The data source to draw from. |
- * @param {!Array<ProcessingRoot>} visited |
+ * @param {!Set<ProcessingRoot>} visited |
*/ |
'i18n-values': function(element, attributeAndKeys, data, visited) { |
var parts = attributeAndKeys.replace(/\s/g, '').split(/;/); |
@@ -137,24 +137,24 @@ var i18nTemplate = (function() { |
* @param {!LoadTimeData} data The data to draw from. |
*/ |
function process(root, data) { |
- processWithoutCycles(root, data, [], true); |
+ processWithoutCycles(root, data, new Set(), true); |
} |
/** |
* Internal process() method that stops cycles while processing. |
* @param {!ProcessingRoot} root |
* @param {!LoadTimeData} data |
- * @param {!Array<ProcessingRoot>} visited Already visited roots. |
+ * @param {!Set<ProcessingRoot>} visited Already visited roots. |
* @param {boolean} mark Whether nodes should be marked processed. |
*/ |
function processWithoutCycles(root, data, visited, mark) { |
- if (visited.indexOf(root) >= 0) { |
+ if (visited.has(root)) { |
// Found a cycle. Stop it. |
return; |
} |
// Mark the node as visited before recursing. |
- visited.push(root); |
+ visited.add(root); |
var importLinks = root.querySelectorAll('link[rel=import]'); |
for (var i = 0; i < importLinks.length; ++i) { |
@@ -198,7 +198,7 @@ var i18nTemplate = (function() { |
* Run through various [i18n-*] attributes and populate. |
* @param {!Element} element |
* @param {!LoadTimeData} data |
- * @param {!Array<ProcessingRoot>} visited |
+ * @param {!Set<ProcessingRoot>} visited |
*/ |
function processElement(element, data, visited) { |
for (var i = 0; i < attributeNames.length; i++) { |