Commit a8d4c5d8 authored by Demetrios Papadopoulos's avatar Demetrios Papadopoulos Committed by Commit Bot

Fix ESLint no-var and prefer-const violations in components/autofill/.

Most of these have been fixed automatically with ESLint's --fix flag.

This is in preparation of turning on presubmit checks for no-var and prefer-const
for components/.

Bug: 792774,720034
Change-Id: I482ed8577bf260a6190fb646891194f8d533debc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1914496
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: default avatarMoe Ahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#715885}
parent a6a21025
...@@ -25,14 +25,14 @@ function nodeToDomNode(node) { ...@@ -25,14 +25,14 @@ function nodeToDomNode(node) {
return document.createTextNode(node.value); return document.createTextNode(node.value);
} }
// Else the node is of type 'element'. // Else the node is of type 'element'.
var domNode = document.createElement(node.value); const domNode = document.createElement(node.value);
if ('children' in node) { if ('children' in node) {
node.children.forEach((child) => { node.children.forEach((child) => {
domNode.appendChild(nodeToDomNode(child)); domNode.appendChild(nodeToDomNode(child));
}); });
} }
if ('attributes' in node) { if ('attributes' in node) {
for (var attribute in node.attributes) { for (const attribute in node.attributes) {
domNode.setAttribute(attribute, node.attributes[attribute]); domNode.setAttribute(attribute, node.attributes[attribute]);
} }
} }
...@@ -84,12 +84,12 @@ function notifyAboutIncognito(isIncognito) { ...@@ -84,12 +84,12 @@ function notifyAboutIncognito(isIncognito) {
} }
function notifyAboutVariations(variations) { function notifyAboutVariations(variations) {
var list = document.createElement("div"); const list = document.createElement("div");
for (let item of variations) { for (const item of variations) {
list.appendChild(document.createTextNode(item)); list.appendChild(document.createTextNode(item));
list.appendChild(document.createElement("br")); list.appendChild(document.createElement("br"));
} }
var variationsList = document.getElementById("variations-list"); const variationsList = document.getElementById("variations-list");
variationsList.appendChild(list); variationsList.appendChild(list);
} }
......
...@@ -32,11 +32,11 @@ __gCrWeb['suggestion'] = __gCrWeb.suggestion; ...@@ -32,11 +32,11 @@ __gCrWeb['suggestion'] = __gCrWeb.suggestion;
* @param {string} name The name of the desired element. * @param {string} name The name of the desired element.
* @return {Element} The element if found, otherwise null; * @return {Element} The element if found, otherwise null;
*/ */
var getElementByNameWithParent = function(parent, name) { const getElementByNameWithParent = function(parent, name) {
if (parent.name === name) return parent; if (parent.name === name) return parent;
var el; let el;
for (var i = 0; i < parent.children.length; i++) { for (let i = 0; i < parent.children.length; i++) {
el = getElementByNameWithParent(parent.children[i], name); el = getElementByNameWithParent(parent.children[i], name);
if (el) return el; if (el) return el;
} }
...@@ -58,8 +58,8 @@ var getElementByNameWithParent = function(parent, name) { ...@@ -58,8 +58,8 @@ var getElementByNameWithParent = function(parent, name) {
*/ */
__gCrWeb.suggestion.getNextElementInTabOrder = function( __gCrWeb.suggestion.getNextElementInTabOrder = function(
elementToCompare, elementList) { elementToCompare, elementList) {
var elements = []; const elements = [];
for (var i = 0; i < elementList.length; ++i) { for (let i = 0; i < elementList.length; ++i) {
elements[i] = elementList[i]; elements[i] = elementList[i];
} }
// There is no defined behavior if the element is not reachable. Here the // There is no defined behavior if the element is not reachable. Here the
...@@ -69,12 +69,12 @@ __gCrWeb.suggestion.getNextElementInTabOrder = function( ...@@ -69,12 +69,12 @@ __gCrWeb.suggestion.getNextElementInTabOrder = function(
// TODO(chenyu): investigate and simulate Mobile Safari's behavior when // TODO(chenyu): investigate and simulate Mobile Safari's behavior when
// |elementToCompare| is the last one in DOM tree order. // |elementToCompare| is the last one in DOM tree order.
if (!__gCrWeb.suggestion.isSequentiallyReachable(elementToCompare)) { if (!__gCrWeb.suggestion.isSequentiallyReachable(elementToCompare)) {
var indexToCompare = elements.indexOf(elementToCompare); const indexToCompare = elements.indexOf(elementToCompare);
if (indexToCompare === elements.length - 1 || indexToCompare === -1) { if (indexToCompare === elements.length - 1 || indexToCompare === -1) {
return null; return null;
} }
for (var index = indexToCompare + 1; index < elements.length; ++index) { for (let index = indexToCompare + 1; index < elements.length; ++index) {
var element = elements[index]; const element = elements[index];
if (__gCrWeb.suggestion.isSequentiallyReachable(element)) { if (__gCrWeb.suggestion.isSequentiallyReachable(element)) {
return element; return element;
} }
...@@ -85,9 +85,9 @@ __gCrWeb.suggestion.getNextElementInTabOrder = function( ...@@ -85,9 +85,9 @@ __gCrWeb.suggestion.getNextElementInTabOrder = function(
// Returns true iff |element1| that has DOM tree position |index1| is after // Returns true iff |element1| that has DOM tree position |index1| is after
// |element2| that has DOM tree position |index2| in tab order. It is assumed // |element2| that has DOM tree position |index2| in tab order. It is assumed
// |index1 !== index2|. // |index1 !== index2|.
var comparator = function(element1, index1, element2, index2) { const comparator = function(element1, index1, element2, index2) {
var tabOrder1 = __gCrWeb.suggestion.getTabOrder(element1); const tabOrder1 = __gCrWeb.suggestion.getTabOrder(element1);
var tabOrder2 = __gCrWeb.suggestion.getTabOrder(element2); const tabOrder2 = __gCrWeb.suggestion.getTabOrder(element2);
return tabOrder1 > tabOrder2 || return tabOrder1 > tabOrder2 ||
(tabOrder1 === tabOrder2 && index1 > index2); (tabOrder1 === tabOrder2 && index1 > index2);
}; };
...@@ -110,20 +110,20 @@ __gCrWeb.suggestion.getNextElementInTabOrder = function( ...@@ -110,20 +110,20 @@ __gCrWeb.suggestion.getNextElementInTabOrder = function(
*/ */
__gCrWeb.suggestion.getPreviousElementInTabOrder = function( __gCrWeb.suggestion.getPreviousElementInTabOrder = function(
elementToCompare, elementList) { elementToCompare, elementList) {
var elements = []; const elements = [];
for (var i = 0; i < elementList.length; ++i) { for (let i = 0; i < elementList.length; ++i) {
elements[i] = elementList[i]; elements[i] = elementList[i];
} }
// There is no defined behavior if the element is not reachable. Here the // There is no defined behavior if the element is not reachable. Here the
// previous reachable element in DOM tree order is returned. // previous reachable element in DOM tree order is returned.
if (!__gCrWeb.suggestion.isSequentiallyReachable(elementToCompare)) { if (!__gCrWeb.suggestion.isSequentiallyReachable(elementToCompare)) {
var indexToCompare = elements.indexOf(elementToCompare); const indexToCompare = elements.indexOf(elementToCompare);
if (indexToCompare <= 0) { // Ignore if first or no element is found. if (indexToCompare <= 0) { // Ignore if first or no element is found.
return null; return null;
} }
for (var index = indexToCompare - 1; index >= 0; --index) { for (let index = indexToCompare - 1; index >= 0; --index) {
var element = elements[index]; const element = elements[index];
if (__gCrWeb.suggestion.isSequentiallyReachable(element)) { if (__gCrWeb.suggestion.isSequentiallyReachable(element)) {
return element; return element;
} }
...@@ -134,9 +134,9 @@ __gCrWeb.suggestion.getPreviousElementInTabOrder = function( ...@@ -134,9 +134,9 @@ __gCrWeb.suggestion.getPreviousElementInTabOrder = function(
// Returns true iff |element1| that has DOM tree position |index1| is before // Returns true iff |element1| that has DOM tree position |index1| is before
// |element2| that has DOM tree position |index2| in tab order. It is assumed // |element2| that has DOM tree position |index2| in tab order. It is assumed
// |index1 !== index2|. // |index1 !== index2|.
var comparator = function(element1, index1, element2, index2) { const comparator = function(element1, index1, element2, index2) {
var tabOrder1 = __gCrWeb.suggestion.getTabOrder(element1); const tabOrder1 = __gCrWeb.suggestion.getTabOrder(element1);
var tabOrder2 = __gCrWeb.suggestion.getTabOrder(element2); const tabOrder2 = __gCrWeb.suggestion.getTabOrder(element2);
return tabOrder1 < tabOrder2 || return tabOrder1 < tabOrder2 ||
(tabOrder1 === tabOrder2 && index1 < index2); (tabOrder1 === tabOrder2 && index1 < index2);
}; };
...@@ -167,18 +167,18 @@ __gCrWeb.suggestion.getPreviousElementInTabOrder = function( ...@@ -167,18 +167,18 @@ __gCrWeb.suggestion.getPreviousElementInTabOrder = function(
__gCrWeb.suggestion.getFormElementAfter = function( __gCrWeb.suggestion.getFormElementAfter = function(
elementToCompare, elements, comparator) { elementToCompare, elements, comparator) {
// Computes the index |indexToCompare| of |elementToCompare| in |element|. // Computes the index |indexToCompare| of |elementToCompare| in |element|.
var indexToCompare = elements.indexOf(elementToCompare); const indexToCompare = elements.indexOf(elementToCompare);
if (indexToCompare === -1) { if (indexToCompare === -1) {
return null; return null;
} }
var result = null; let result = null;
var resultIndex = -1; let resultIndex = -1;
for (var index = 0; index < elements.length; ++index) { for (let index = 0; index < elements.length; ++index) {
if (index === indexToCompare) { if (index === indexToCompare) {
continue; continue;
} }
var element = elements[index]; const element = elements[index];
if (!__gCrWeb.suggestion.isSequentiallyReachable(element)) { if (!__gCrWeb.suggestion.isSequentiallyReachable(element)) {
continue; continue;
} }
...@@ -205,7 +205,7 @@ __gCrWeb.suggestion.getFormElementAfter = function( ...@@ -205,7 +205,7 @@ __gCrWeb.suggestion.getFormElementAfter = function(
* @return {boolean} Whether an element is reachable in sequential navigation. * @return {boolean} Whether an element is reachable in sequential navigation.
*/ */
__gCrWeb.suggestion.isSequentiallyReachable = function(element) { __gCrWeb.suggestion.isSequentiallyReachable = function(element) {
var tabIndex = element.tabIndex; const tabIndex = element.tabIndex;
// It is proposed in W3C that if tabIndex is omitted or parsing the value // It is proposed in W3C that if tabIndex is omitted or parsing the value
// returns an error, the user agent should follow platform conventions to // returns an error, the user agent should follow platform conventions to
// determine whether the element can be reached using sequential focus // determine whether the element can be reached using sequential focus
...@@ -267,7 +267,7 @@ __gCrWeb.suggestion.isSequentiallyReachable = function(element) { ...@@ -267,7 +267,7 @@ __gCrWeb.suggestion.isSequentiallyReachable = function(element) {
* sequential navigation. * sequential navigation.
*/ */
__gCrWeb.suggestion.getTabOrder = function(element) { __gCrWeb.suggestion.getTabOrder = function(element) {
var tabIndex = element.tabIndex; const tabIndex = element.tabIndex;
if (tabIndex === 0) { if (tabIndex === 0) {
return Number.MAX_VALUE; return Number.MAX_VALUE;
} }
...@@ -283,7 +283,7 @@ __gCrWeb.suggestion.getTabOrder = function(element) { ...@@ -283,7 +283,7 @@ __gCrWeb.suggestion.getTabOrder = function(element) {
* @return {Element} The element if found, otherwise null. * @return {Element} The element if found, otherwise null.
*/ */
__gCrWeb.suggestion.getFormElement = function(formName, fieldName) { __gCrWeb.suggestion.getFormElement = function(formName, fieldName) {
var form = __gCrWeb.form.getFormElementFromIdentifier(formName); const form = __gCrWeb.form.getFormElementFromIdentifier(formName);
if (!form) return null; if (!form) return null;
return getElementByNameWithParent(form, fieldName); return getElementByNameWithParent(form, fieldName);
}; };
...@@ -293,10 +293,10 @@ __gCrWeb.suggestion.getFormElement = function(formName, fieldName) { ...@@ -293,10 +293,10 @@ __gCrWeb.suggestion.getFormElement = function(formName, fieldName) {
* if there is no such element. * if there is no such element.
*/ */
__gCrWeb.suggestion['selectNextElement'] = function(formName, fieldName) { __gCrWeb.suggestion['selectNextElement'] = function(formName, fieldName) {
var currentElement = formName ? const currentElement = formName ?
__gCrWeb.suggestion.getFormElement(formName, fieldName) : __gCrWeb.suggestion.getFormElement(formName, fieldName) :
document.activeElement; document.activeElement;
var nextElement = __gCrWeb.suggestion.getNextElementInTabOrder( const nextElement = __gCrWeb.suggestion.getNextElementInTabOrder(
currentElement, document.all); currentElement, document.all);
if (nextElement) { if (nextElement) {
nextElement.focus(); nextElement.focus();
...@@ -308,10 +308,10 @@ __gCrWeb.suggestion['selectNextElement'] = function(formName, fieldName) { ...@@ -308,10 +308,10 @@ __gCrWeb.suggestion['selectNextElement'] = function(formName, fieldName) {
* operation if there is no such element. * operation if there is no such element.
*/ */
__gCrWeb.suggestion['selectPreviousElement'] = function(formName, fieldName) { __gCrWeb.suggestion['selectPreviousElement'] = function(formName, fieldName) {
var currentElement = formName ? const currentElement = formName ?
__gCrWeb.suggestion.getFormElement(formName, fieldName) : __gCrWeb.suggestion.getFormElement(formName, fieldName) :
document.activeElement; document.activeElement;
var prevElement = __gCrWeb.suggestion.getPreviousElementInTabOrder( const prevElement = __gCrWeb.suggestion.getPreviousElementInTabOrder(
currentElement, document.all); currentElement, document.all);
if (prevElement) { if (prevElement) {
prevElement.focus(); prevElement.focus();
...@@ -325,7 +325,7 @@ __gCrWeb.suggestion['selectPreviousElement'] = function(formName, fieldName) { ...@@ -325,7 +325,7 @@ __gCrWeb.suggestion['selectPreviousElement'] = function(formName, fieldName) {
* after the currently active element. * after the currently active element.
*/ */
__gCrWeb.suggestion['hasNextElement'] = function(formName, fieldName) { __gCrWeb.suggestion['hasNextElement'] = function(formName, fieldName) {
var currentElement = formName ? const currentElement = formName ?
__gCrWeb.suggestion.getFormElement(formName, fieldName) : __gCrWeb.suggestion.getFormElement(formName, fieldName) :
document.activeElement; document.activeElement;
return __gCrWeb.suggestion.getNextElementInTabOrder( return __gCrWeb.suggestion.getNextElementInTabOrder(
...@@ -339,7 +339,7 @@ __gCrWeb.suggestion['hasNextElement'] = function(formName, fieldName) { ...@@ -339,7 +339,7 @@ __gCrWeb.suggestion['hasNextElement'] = function(formName, fieldName) {
* before the currently active element. * before the currently active element.
*/ */
__gCrWeb.suggestion['hasPreviousElement'] = function(formName, fieldName) { __gCrWeb.suggestion['hasPreviousElement'] = function(formName, fieldName) {
var currentElement = formName ? const currentElement = formName ?
__gCrWeb.suggestion.getFormElement(formName, fieldName) : __gCrWeb.suggestion.getFormElement(formName, fieldName) :
document.activeElement; document.activeElement;
return __gCrWeb.suggestion.getPreviousElementInTabOrder( return __gCrWeb.suggestion.getPreviousElementInTabOrder(
......
...@@ -46,7 +46,7 @@ __gCrWeb.form.wasEditedByUser = null; ...@@ -46,7 +46,7 @@ __gCrWeb.form.wasEditedByUser = null;
* @return {boolean} true if the |element| is a form control element. * @return {boolean} true if the |element| is a form control element.
*/ */
__gCrWeb.form.isFormControlElement = function(element) { __gCrWeb.form.isFormControlElement = function(element) {
var tagName = element.tagName; const tagName = element.tagName;
return ( return (
tagName === 'INPUT' || tagName === 'SELECT' || tagName === 'TEXTAREA'); tagName === 'INPUT' || tagName === 'SELECT' || tagName === 'TEXTAREA');
}; };
...@@ -68,7 +68,7 @@ __gCrWeb.form.getFormControlElements = function(form) { ...@@ -68,7 +68,7 @@ __gCrWeb.form.getFormControlElements = function(form) {
if (!form) { if (!form) {
return []; return [];
} }
var results = []; const results = [];
// Get input and select elements from form.elements. // Get input and select elements from form.elements.
// According to // According to
// http://www.w3.org/TR/2011/WD-html5-20110525/forms.html, form.elements are // http://www.w3.org/TR/2011/WD-html5-20110525/forms.html, form.elements are
...@@ -81,8 +81,8 @@ __gCrWeb.form.getFormControlElements = function(form) { ...@@ -81,8 +81,8 @@ __gCrWeb.form.getFormControlElements = function(form) {
// implementation. Note for Autofill, as input Image Button is not // implementation. Note for Autofill, as input Image Button is not
// considered as autofillable elements, there is no impact on Autofill // considered as autofillable elements, there is no impact on Autofill
// feature. // feature.
var elements = form.elements; const elements = form.elements;
for (var i = 0; i < elements.length; i++) { for (let i = 0; i < elements.length; i++) {
if (__gCrWeb.form.isFormControlElement(elements[i])) { if (__gCrWeb.form.isFormControlElement(elements[i])) {
results.push(/** @type {FormControlElement} */ (elements[i])); results.push(/** @type {FormControlElement} */ (elements[i]));
} }
...@@ -121,7 +121,7 @@ __gCrWeb.form.getFieldIdentifier = function(element) { ...@@ -121,7 +121,7 @@ __gCrWeb.form.getFieldIdentifier = function(element) {
if (!element) { if (!element) {
return ''; return '';
} }
var trimmedIdentifier = element.id; let trimmedIdentifier = element.id;
if (trimmedIdentifier) { if (trimmedIdentifier) {
return __gCrWeb.common.trim(trimmedIdentifier); return __gCrWeb.common.trim(trimmedIdentifier);
} }
...@@ -136,8 +136,8 @@ __gCrWeb.form.getFieldIdentifier = function(element) { ...@@ -136,8 +136,8 @@ __gCrWeb.form.getFieldIdentifier = function(element) {
} }
} }
var elements = __gCrWeb.form.getFormControlElements(element.form); const elements = __gCrWeb.form.getFormControlElements(element.form);
for (var index = 0; index < elements.length; index++) { for (let index = 0; index < elements.length; index++) {
if (elements[index] === element) { if (elements[index] === element) {
return __gCrWeb.form.kNamelessFieldIDPrefix + index; return __gCrWeb.form.kNamelessFieldIDPrefix + index;
} }
...@@ -147,22 +147,22 @@ __gCrWeb.form.getFieldIdentifier = function(element) { ...@@ -147,22 +147,22 @@ __gCrWeb.form.getFieldIdentifier = function(element) {
// As best effort, try to find the closest ancestor with an id, then // As best effort, try to find the closest ancestor with an id, then
// check the index of the element in the descendants of the ancestors with // check the index of the element in the descendants of the ancestors with
// the same type. // the same type.
var ancestor = element.parentNode; let ancestor = element.parentNode;
while (!!ancestor && ancestor.nodeType == Node.ELEMENT_NODE && while (!!ancestor && ancestor.nodeType == Node.ELEMENT_NODE &&
(!ancestor.hasAttribute('id') || (!ancestor.hasAttribute('id') ||
__gCrWeb.common.trim(ancestor.id) == '')) { __gCrWeb.common.trim(ancestor.id) == '')) {
ancestor = ancestor.parentNode; ancestor = ancestor.parentNode;
} }
var query = element.tagName; const query = element.tagName;
var ancestorId = ''; let ancestorId = '';
if (!ancestor || ancestor.nodeType != Node.ELEMENT_NODE) { if (!ancestor || ancestor.nodeType != Node.ELEMENT_NODE) {
ancestor = document.body; ancestor = document.body;
} }
if (ancestor.hasAttribute('id')) { if (ancestor.hasAttribute('id')) {
ancestorId = '#' + __gCrWeb.common.trim(ancestor.id); ancestorId = '#' + __gCrWeb.common.trim(ancestor.id);
} }
var descendants = ancestor.querySelectorAll(element.tagName); const descendants = ancestor.querySelectorAll(element.tagName);
var i = 0; let i = 0;
for (i = 0; i < descendants.length; i++) { for (i = 0; i < descendants.length; i++) {
if (descendants[i] === element) { if (descendants[i] === element) {
return __gCrWeb.form.kNamelessFieldIDPrefix + ancestorId + '~' + return __gCrWeb.form.kNamelessFieldIDPrefix + ancestorId + '~' +
...@@ -192,7 +192,7 @@ __gCrWeb.form.getFieldName = function(element) { ...@@ -192,7 +192,7 @@ __gCrWeb.form.getFieldName = function(element) {
if (!element) { if (!element) {
return ''; return '';
} }
var trimmedName = element.name; let trimmedName = element.name;
if (trimmedName) { if (trimmedName) {
trimmedName = __gCrWeb.common.trim(trimmedName); trimmedName = __gCrWeb.common.trim(trimmedName);
if (trimmedName.length > 0) { if (trimmedName.length > 0) {
...@@ -219,7 +219,7 @@ __gCrWeb.form.getFieldName = function(element) { ...@@ -219,7 +219,7 @@ __gCrWeb.form.getFieldName = function(element) {
*/ */
__gCrWeb.form.getFormIdentifier = function(form) { __gCrWeb.form.getFormIdentifier = function(form) {
if (!form) return ''; if (!form) return '';
var name = form.getAttribute('name'); let name = form.getAttribute('name');
if (name && name.length != 0 && if (name && name.length != 0 &&
form.ownerDocument.forms.namedItem(name) === form) { form.ownerDocument.forms.namedItem(name) === form) {
return name; return name;
...@@ -233,7 +233,7 @@ __gCrWeb.form.getFormIdentifier = function(form) { ...@@ -233,7 +233,7 @@ __gCrWeb.form.getFormIdentifier = function(form) {
// identified from the name. A last resort is to take the index number of // identified from the name. A last resort is to take the index number of
// the form in document.forms. ids are not supposed to begin with digits (by // the form in document.forms. ids are not supposed to begin with digits (by
// HTML 4 spec) so this is unlikely to match a true id. // HTML 4 spec) so this is unlikely to match a true id.
for (var idx = 0; idx != document.forms.length; idx++) { for (let idx = 0; idx != document.forms.length; idx++) {
if (document.forms[idx] == form) { if (document.forms[idx] == form) {
return __gCrWeb.form.kNamelessFormIDPrefix + idx; return __gCrWeb.form.kNamelessFormIDPrefix + idx;
} }
...@@ -252,7 +252,7 @@ __gCrWeb.form.getFormIdentifier = function(form) { ...@@ -252,7 +252,7 @@ __gCrWeb.form.getFormIdentifier = function(form) {
*/ */
__gCrWeb.form.getFormElementFromIdentifier = function(name) { __gCrWeb.form.getFormElementFromIdentifier = function(name) {
// First attempt is from the name / id supplied. // First attempt is from the name / id supplied.
var form = document.forms.namedItem(name); const form = document.forms.namedItem(name);
if (form) { if (form) {
if (form.nodeType !== Node.ELEMENT_NODE) return null; if (form.nodeType !== Node.ELEMENT_NODE) return null;
return (form); return (form);
...@@ -260,7 +260,7 @@ __gCrWeb.form.getFormElementFromIdentifier = function(name) { ...@@ -260,7 +260,7 @@ __gCrWeb.form.getFormElementFromIdentifier = function(name) {
// Second attempt is from the prefixed index position of the form in // Second attempt is from the prefixed index position of the form in
// document.forms. // document.forms.
if (name.indexOf(__gCrWeb.form.kNamelessFormIDPrefix) == 0) { if (name.indexOf(__gCrWeb.form.kNamelessFormIDPrefix) == 0) {
var nameAsInteger = const nameAsInteger =
0 | name.substring(__gCrWeb.form.kNamelessFormIDPrefix.length); 0 | name.substring(__gCrWeb.form.kNamelessFormIDPrefix.length);
if (__gCrWeb.form.kNamelessFormIDPrefix + nameAsInteger == name && if (__gCrWeb.form.kNamelessFormIDPrefix + nameAsInteger == name &&
nameAsInteger < document.forms.length) { nameAsInteger < document.forms.length) {
......
...@@ -25,29 +25,29 @@ __gCrWeb.formHandlers = {}; ...@@ -25,29 +25,29 @@ __gCrWeb.formHandlers = {};
/** /**
* The MutationObserver tracking form related changes. * The MutationObserver tracking form related changes.
*/ */
var formMutationObserver = null; let formMutationObserver = null;
/** /**
* The form mutation message scheduled to be sent to browser. * The form mutation message scheduled to be sent to browser.
*/ */
var formMutationMessageToSend = null; let formMutationMessageToSend = null;
/** /**
* A message scheduled to be sent to host on the next runloop. * A message scheduled to be sent to host on the next runloop.
*/ */
var messageToSend = null; let messageToSend = null;
/** /**
* The last HTML element that had focus. * The last HTML element that had focus.
*/ */
var lastFocusedElement = null; let lastFocusedElement = null;
/** /**
* The original implementation of HTMLFormElement.submit that will be called by * The original implementation of HTMLFormElement.submit that will be called by
* the hook. * the hook.
* @private * @private
*/ */
var formSubmitOriginalFunction = null; let formSubmitOriginalFunction = null;
/** /**
* Schedule |mesg| to be sent on next runloop. * Schedule |mesg| to be sent on next runloop.
...@@ -71,7 +71,7 @@ function sendMessageOnNextLoop_(mesg) { ...@@ -71,7 +71,7 @@ function sendMessageOnNextLoop_(mesg) {
function getFullyQualifiedUrl_(originalURL) { function getFullyQualifiedUrl_(originalURL) {
// A dummy anchor (never added to the document) is used to obtain the // A dummy anchor (never added to the document) is used to obtain the
// fully-qualified URL of |originalURL|. // fully-qualified URL of |originalURL|.
var anchor = document.createElement('a'); const anchor = document.createElement('a');
anchor.href = originalURL; anchor.href = originalURL;
return anchor.href; return anchor.href;
} }
...@@ -93,13 +93,13 @@ function getFullyQualifiedUrl_(originalURL) { ...@@ -93,13 +93,13 @@ function getFullyQualifiedUrl_(originalURL) {
* @private * @private
*/ */
function formActivity_(evt) { function formActivity_(evt) {
var target = evt.target; const target = evt.target;
if (!['FORM', 'INPUT', 'OPTION', 'SELECT', 'TEXTAREA'].includes( if (!['FORM', 'INPUT', 'OPTION', 'SELECT', 'TEXTAREA'].includes(
target.tagName)) { target.tagName)) {
return; return;
} }
var value = target.value || ''; const value = target.value || '';
var fieldType = target.type || ''; const fieldType = target.type || '';
if (evt.type !== 'blur') { if (evt.type !== 'blur') {
lastFocusedElement = document.activeElement; lastFocusedElement = document.activeElement;
} }
...@@ -108,7 +108,7 @@ function formActivity_(evt) { ...@@ -108,7 +108,7 @@ function formActivity_(evt) {
__gCrWeb.form.wasEditedByUser.set(target, evt.isTrusted); __gCrWeb.form.wasEditedByUser.set(target, evt.isTrusted);
} }
if (target != lastFocusedElement) return; if (target != lastFocusedElement) return;
var msg = { const msg = {
'command': 'form.activity', 'command': 'form.activity',
'formName': __gCrWeb.form.getFormIdentifier(evt.target.form), 'formName': __gCrWeb.form.getFormIdentifier(evt.target.form),
'fieldIdentifier': __gCrWeb.form.getFieldIdentifier(target), 'fieldIdentifier': __gCrWeb.form.getFieldIdentifier(target),
...@@ -136,7 +136,7 @@ function submitHandler_(evt) { ...@@ -136,7 +136,7 @@ function submitHandler_(evt) {
// Send the form data to the browser. // Send the form data to the browser.
function formSubmitted_(form) { function formSubmitted_(form) {
// Default action is to re-submit to same page. // Default action is to re-submit to same page.
var action = form.getAttribute('action') || document.location.href; const action = form.getAttribute('action') || document.location.href;
__gCrWeb.message.invokeOnHost({ __gCrWeb.message.invokeOnHost({
'command': 'form.submit', 'command': 'form.submit',
'formName': __gCrWeb.form.getFormIdentifier(form), 'formName': __gCrWeb.form.getFormIdentifier(form),
...@@ -219,24 +219,24 @@ __gCrWeb.formHandlers['trackFormMutations'] = function(delay) { ...@@ -219,24 +219,24 @@ __gCrWeb.formHandlers['trackFormMutations'] = function(delay) {
if (!delay) return; if (!delay) return;
formMutationObserver = new MutationObserver(function(mutations) { formMutationObserver = new MutationObserver(function(mutations) {
for (var i = 0; i < mutations.length; i++) { for (let i = 0; i < mutations.length; i++) {
var mutation = mutations[i]; const mutation = mutations[i];
// Only process mutations to the tree of nodes. // Only process mutations to the tree of nodes.
if (mutation.type != 'childList') continue; if (mutation.type != 'childList') continue;
var addedElements = []; const addedElements = [];
for (var j = 0; j < mutation.addedNodes.length; j++) { for (let j = 0; j < mutation.addedNodes.length; j++) {
var node = mutation.addedNodes[j]; const node = mutation.addedNodes[j];
// Ignore non-element nodes. // Ignore non-element nodes.
if (node.nodeType != Node.ELEMENT_NODE) continue; if (node.nodeType != Node.ELEMENT_NODE) continue;
addedElements.push(node); addedElements.push(node);
[].push.apply( [].push.apply(
addedElements, [].slice.call(node.getElementsByTagName('*'))); addedElements, [].slice.call(node.getElementsByTagName('*')));
} }
var formChanged = addedElements.find(function(element) { const formChanged = addedElements.find(function(element) {
return element.tagName.match(/(FORM|INPUT|SELECT|OPTION|TEXTAREA)/); return element.tagName.match(/(FORM|INPUT|SELECT|OPTION|TEXTAREA)/);
}); });
if (formChanged) { if (formChanged) {
var msg = { const msg = {
'command': 'form.activity', 'command': 'form.activity',
'formName': '', 'formName': '',
'fieldIdentifier': '', 'fieldIdentifier': '',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment