protect for in loops with hasOwnProperty
This commit is contained in:
@@ -441,7 +441,9 @@ OpenLayers.Util.createAlphaImageDiv = function(id, px, sz, imgURL,
|
||||
OpenLayers.Util.upperCaseObject = function (object) {
|
||||
var uObject = {};
|
||||
for (var key in object) {
|
||||
uObject[key.toUpperCase()] = object[key];
|
||||
if (object.hasOwnProperty(key)) {
|
||||
uObject[key.toUpperCase()] = object[key];
|
||||
}
|
||||
}
|
||||
return uObject;
|
||||
};
|
||||
@@ -509,27 +511,29 @@ OpenLayers.Util.getParameterString = function(params) {
|
||||
var paramsArray = [];
|
||||
|
||||
for (var key in params) {
|
||||
var value = params[key];
|
||||
if ((value != null) && (typeof value != 'function')) {
|
||||
var encodedValue;
|
||||
if (typeof value == 'object' && value.constructor == Array) {
|
||||
/* value is an array; encode items and separate with "," */
|
||||
var encodedItemArray = [];
|
||||
var item;
|
||||
for (var itemIndex=0, len=value.length; itemIndex<len; itemIndex++) {
|
||||
item = value[itemIndex];
|
||||
encodedItemArray.push(encodeURIComponent(
|
||||
(item === null || item === undefined) ? "" : item)
|
||||
);
|
||||
}
|
||||
encodedValue = encodedItemArray.join(",");
|
||||
if (params.hasOwnProperty(key)) {
|
||||
var value = params[key];
|
||||
if ((value != null) && (typeof value != 'function')) {
|
||||
var encodedValue;
|
||||
if (typeof value == 'object' && value.constructor == Array) {
|
||||
/* value is an array; encode items and separate with "," */
|
||||
var encodedItemArray = [];
|
||||
var item;
|
||||
for (var itemIndex=0, len=value.length; itemIndex<len; itemIndex++) {
|
||||
item = value[itemIndex];
|
||||
encodedItemArray.push(encodeURIComponent(
|
||||
(item === null || item === undefined) ? "" : item)
|
||||
);
|
||||
}
|
||||
encodedValue = encodedItemArray.join(",");
|
||||
}
|
||||
else {
|
||||
/* value is a string; simply encode */
|
||||
encodedValue = encodeURIComponent(value);
|
||||
}
|
||||
paramsArray.push(encodeURIComponent(key) + "=" + encodedValue);
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* value is a string; simply encode */
|
||||
encodedValue = encodeURIComponent(value);
|
||||
}
|
||||
paramsArray.push(encodeURIComponent(key) + "=" + encodedValue);
|
||||
}
|
||||
}
|
||||
|
||||
return paramsArray.join("&");
|
||||
@@ -1300,24 +1304,30 @@ OpenLayers.Util.isEquivalentUrl = function(url1, url2, options) {
|
||||
var urlObj2 = OpenLayers.Util.createUrlObject(url2, options);
|
||||
|
||||
//compare all keys except for "args" (treated below)
|
||||
for(var key in urlObj1) {
|
||||
if(key !== "args") {
|
||||
if(urlObj1[key] != urlObj2[key]) {
|
||||
return false;
|
||||
for (var key in urlObj1) {
|
||||
if (urlObj1.hasOwnProperty(key)) {
|
||||
if(key !== "args") {
|
||||
if(urlObj1[key] != urlObj2[key]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// compare search args - irrespective of order
|
||||
for(var key in urlObj1.args) {
|
||||
if(urlObj1.args[key] != urlObj2.args[key]) {
|
||||
return false;
|
||||
for (var key in urlObj1.args) {
|
||||
if (urlObj1.args.hasOwnProperty(key)) {
|
||||
if(urlObj1.args[key] != urlObj2.args[key]) {
|
||||
return false;
|
||||
}
|
||||
delete urlObj2.args[key];
|
||||
}
|
||||
delete urlObj2.args[key];
|
||||
}
|
||||
// urlObj2 shouldn't have any args left
|
||||
for(var key in urlObj2.args) {
|
||||
return false;
|
||||
for (var key in urlObj2.args) {
|
||||
if (urlObj2.args.hasOwnProperty(key)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user