From: Kevin Ball Date: Wed, 27 Apr 2016 16:32:07 +0000 (-0700) Subject: Protect array for/in loops X-Git-Tag: v6.2.2-rc1~32^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b6f5c27e71a775d2ec289b2a52b7c2cfec1296b0;p=thirdparty%2Ffoundation%2Ffoundation-sites.git Protect array for/in loops --- diff --git a/js/foundation.interchange.js b/js/foundation.interchange.js index bc0f6ada9..1a15ff01a 100644 --- a/js/foundation.interchange.js +++ b/js/foundation.interchange.js @@ -59,10 +59,12 @@ class Interchange { // Iterate through each rule, but only save the last match for (var i in this.rules) { - var rule = this.rules[i]; + if(this.rules.hasOwnProperty(i)) { + var rule = this.rules[i]; - if (window.matchMedia(rule.query).matches) { - match = rule; + if (window.matchMedia(rule.query).matches) { + match = rule; + } } } @@ -78,8 +80,10 @@ class Interchange { */ _addBreakpoints() { for (var i in Foundation.MediaQuery.queries) { - var query = Foundation.MediaQuery.queries[i]; - Interchange.SPECIAL_QUERIES[query.name] = query.value; + if (Foundation.MediaQuery.queries.hasOwnProperty(i)) { + var query = Foundation.MediaQuery.queries[i]; + Interchange.SPECIAL_QUERIES[query.name] = query.value; + } } } @@ -102,18 +106,20 @@ class Interchange { } for (var i in rules) { - var rule = rules[i].slice(1, -1).split(', '); - var path = rule.slice(0, -1).join(''); - var query = rule[rule.length - 1]; - - if (Interchange.SPECIAL_QUERIES[query]) { - query = Interchange.SPECIAL_QUERIES[query]; + if(rules.hasOwnProperty(i)) { + var rule = rules[i].slice(1, -1).split(', '); + var path = rule.slice(0, -1).join(''); + var query = rule[rule.length - 1]; + + if (Interchange.SPECIAL_QUERIES[query]) { + query = Interchange.SPECIAL_QUERIES[query]; + } + + rulesList.push({ + path: path, + query: query + }); } - - rulesList.push({ - path: path, - query: query - }); } this.rules = rulesList; diff --git a/js/foundation.util.mediaQuery.js b/js/foundation.util.mediaQuery.js index baa1f0b87..b9fe5b44a 100644 --- a/js/foundation.util.mediaQuery.js +++ b/js/foundation.util.mediaQuery.js @@ -33,10 +33,12 @@ var MediaQuery = { namedQueries = parseStyleToObject(extractedStyles); for (var key in namedQueries) { - self.queries.push({ - name: key, - value: `only screen and (min-width: ${namedQueries[key]})` - }); + if(namedQueries.hasOwnProperty(key)) { + self.queries.push({ + name: key, + value: `only screen and (min-width: ${namedQueries[key]})` + }); + } } this.current = this._getCurrentSize(); @@ -68,8 +70,10 @@ var MediaQuery = { */ get(size) { for (var i in this.queries) { - var query = this.queries[i]; - if (size === query.name) return query.value; + if(this.queries.hasOwnProperty(i)) { + var query = this.queries[i]; + if (size === query.name) return query.value; + } } return null;