[epiphany/mcatanzaro/foreach] Use foreach loops in JS whenever convenient
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany/mcatanzaro/foreach] Use foreach loops in JS whenever convenient
- Date: Fri, 12 Jul 2019 01:31:36 +0000 (UTC)
commit 527ad89f4c7b40b44bbece6ce805af65eac32d3e
Author: Michael Catanzaro <mcatanzaro igalia com>
Date: Thu Jul 11 20:30:56 2019 -0500
Use foreach loops in JS whenever convenient
embed/web-process-extension/resources/js/ephy.js | 37 ++++++++--------------
.../web-process-extension/resources/js/overview.js | 12 +++----
2 files changed, 18 insertions(+), 31 deletions(-)
---
diff --git a/embed/web-process-extension/resources/js/ephy.js
b/embed/web-process-extension/resources/js/ephy.js
index f33228b9a..7e2363786 100644
--- a/embed/web-process-extension/resources/js/ephy.js
+++ b/embed/web-process-extension/resources/js/ephy.js
@@ -5,8 +5,7 @@ var Ephy = {};
Ephy.getWebAppTitle = function()
{
let metas = document.getElementsByTagName('meta');
- for (let i = 0; i < metas.length; i++) {
- let meta = metas[i];
+ for (let meta of metas) {
if (meta.name == 'application-name')
return meta.content;
@@ -28,8 +27,7 @@ Ephy.getWebAppIcon = function(baseURL)
let appleTouchIconURL = null;
let largestIconSize = 0;
let links = document.getElementsByTagName('link');
- for (let i = 0; i < links.length; i++) {
- let link = links[i];
+ for (let link of links) {
if (link.rel == 'icon' || link.rel == 'shortcut icon' || link.rel == 'icon shortcut' || link.rel ==
'shortcut-icon') {
let sizes = link.getAttribute('sizes');
if (!sizes)
@@ -42,8 +40,8 @@ Ephy.getWebAppIcon = function(baseURL)
}
let sizesList = size.split(' ');
- for (let j = 0; j < sizesList.length; j++) {
- let size = sizesList[j].toLowerCase().split('x');
+ for (let i = 0; i < sizesList.length; i++) {
+ let size = sizesList[i].toLowerCase().split('x');
// Only accept square icons.
if (size.length != 2 || size[0] != size[1])
@@ -73,8 +71,7 @@ Ephy.getWebAppIcon = function(baseURL)
let iconColor = null;
let ogpIcon = null;
let metas = document.getElementsByTagName('meta');
- for (let i = 0; i < metas.length; i++) {
- let meta = metas[i];
+ for (let meta of metas) {
// FIXME: Ought to also search browserconfig.xml
// See: http://stackoverflow.com/questions/24625305/msapplication-tileimage-favicon-backup
if (meta.name == 'msapplication-TileImage')
@@ -200,8 +197,7 @@ Ephy.PreFillUserMenu = class PreFillUserMenu
mainDiv.appendChild(ul);
this._selected = null;
- for (let i = 0; i < this._users.length; i++) {
- let user = this._users[i];
+ for (let user of users) {
if (!showAll && !user.startsWith(this._userElement.value))
continue;
@@ -252,10 +248,10 @@ Ephy.formControlsAssociated = function(pageID, frameID, forms, serializer)
{
Ephy.formManagers = [];
- for (let i = 0; i < forms.length; i++) {
- if (!(forms[i] instanceof HTMLFormElement))
+ for (let form of forms) {
+ if (!(form instanceof HTMLFormElement))
continue;
- let formManager = new Ephy.FormManager(pageID, frameID, forms[i]);
+ let formManager = new Ephy.FormManager(pageID, frameID, form);
formManager.handlePasswordForms(serializer);
formManager.preFillForms();
Ephy.formManagers.push(formManager);
@@ -266,8 +262,7 @@ Ephy.handleFormSubmission = function(pageID, frameID, form)
{
// FIXME: Find out: is it really possible to have multiple frames with same window object???
let formManager = null;
- for (let i = 0; i < Ephy.formManagers.length; i++) {
- let manager = Ephy.formManagers[i];
+ for (let manager of Ephy.formManagers) {
if (manager.frameID() == frameID && manager.form() == form) {
formManager = manager;
break;
@@ -284,11 +279,9 @@ Ephy.handleFormSubmission = function(pageID, frameID, form)
Ephy.hasModifiedForms = function()
{
- for (let i = 0; i < document.forms.length; i++) {
- let form = document.forms[i];
+ for (let form of document.forms) {
let modifiedInputElement = false;
- for (let j = 0; j < form.elements.length; j++) {
- let element = form.elements[j];
+ for (let element of form.elements) {
if (!Ephy.isEdited(element))
continue;
@@ -550,8 +543,7 @@ Ephy.FormManager = class FormManager
_containsPasswordElement()
{
- for (let i = 0; i < this._form.elements.length; i++) {
- let element = this._form.elements[i];
+ for (let element of this._form.elements) {
if (element instanceof HTMLInputElement) {
if (element.type === 'password' || element.type === 'adminpw')
return true;
@@ -574,8 +566,7 @@ Ephy.FormManager = class FormManager
_findPasswordFields()
{
let passwordFields = [];
- for (let i = 0; i < this._form.elements.length; i++) {
- let element = this._form.elements[i];
+ for (let element of this._form.elements) {
if (element instanceof HTMLInputElement && element.type === 'password') {
// We only want to process forms with 1-3 fields. A common
// case is to have a "change password" form with 3 fields:
diff --git a/embed/web-process-extension/resources/js/overview.js
b/embed/web-process-extension/resources/js/overview.js
index e5175c0c1..2db470590 100644
--- a/embed/web-process-extension/resources/js/overview.js
+++ b/embed/web-process-extension/resources/js/overview.js
@@ -24,8 +24,7 @@ Ephy.Overview = class Overview
_initialize()
{
let anchors = document.getElementsByTagName('a');
- for (let i = 0; i < anchors.length; i++) {
- let anchor = anchors[i];
+ for (let anchor of anchors) {
if (anchor.className != 'overview-item')
continue;
@@ -132,8 +131,7 @@ Ephy.Overview = class Overview
_onThumbnailChanged(url, path)
{
- for (let i = 0; i < this._items.length; i++) {
- let item = this._items[i];
+ for (let item of items) {
if (item.url() == url) {
item.setThumbnailPath(path);
return;
@@ -143,8 +141,7 @@ Ephy.Overview = class Overview
_onTitleChanged(url, title)
{
- for (let i = 0; i < this._items.length; i++) {
- let item = this._items[i];
+ for (let item of items) {
if (item.url() == url) {
item.setTitle(title);
return;
@@ -161,8 +158,7 @@ Ephy.Overview.Item = class OverviewItem
this._title = null;
this._thumbnail = null;
- for (let i = 0; i < this._item.childNodes.length; i++) {
- let child = this._item.childNodes[i];
+ for (let child of this._item.childNodes) {
if (!(child instanceof Element))
continue;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]