Skip to content
Snippets Groups Projects
Commit 6f5970a2 authored by Emmanuel ROHEE's avatar Emmanuel ROHEE
Browse files

Added hasOwnProperty tests when required to be robust to random properties...

Added hasOwnProperty tests when required to be robust to random properties added to he Object prototype
parent ef5b39c4
No related branches found
No related tags found
No related merge requests found
...@@ -115,8 +115,9 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) { ...@@ -115,8 +115,9 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) {
if (room) { // we got an existing room object from initialsync, seemingly. if (room) { // we got an existing room object from initialsync, seemingly.
// Report all other metadata of the room object (membership, inviter, visibility, ...) // Report all other metadata of the room object (membership, inviter, visibility, ...)
// XXX: do we *REALLY* want to iterate over *EVERY* field in the object, including all its methods etc? -- Matthew
for (var field in room) { for (var field in room) {
if (!room.hasOwnProperty(field)) continue;
if (-1 === ["room_id", "messages", "state"].indexOf(field)) { // why indexOf - why not ===? --Matthew if (-1 === ["room_id", "messages", "state"].indexOf(field)) { // why indexOf - why not ===? --Matthew
$rootScope.events.rooms[room_id][field] = room[field]; $rootScope.events.rooms[room_id][field] = room[field];
} }
...@@ -517,6 +518,8 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) { ...@@ -517,6 +518,8 @@ function(matrixService, $rootScope, $q, $timeout, mPresence) {
memberCount = 0; memberCount = 0;
for (var i in room.members) { for (var i in room.members) {
if (!room.members.hasOwnProperty(i)) continue;
var member = room.members[i]; var member = room.members[i];
if ("join" === member.membership) { if ("join" === member.membership) {
......
...@@ -45,6 +45,8 @@ angular.module('matrixFilter', []) ...@@ -45,6 +45,8 @@ angular.module('matrixFilter', [])
// Limit the room renaming to 1:1 room // Limit the room renaming to 1:1 room
if (2 === Object.keys(room.members).length) { if (2 === Object.keys(room.members).length) {
for (var i in room.members) { for (var i in room.members) {
if (!room.members.hasOwnProperty(i)) continue;
var member = room.members[i]; var member = room.members[i];
if (member.state_key !== user_id) { if (member.state_key !== user_id) {
roomName = eventHandlerService.getUserDisplayName(room_id, member.state_key); roomName = eventHandlerService.getUserDisplayName(room_id, member.state_key);
......
...@@ -400,6 +400,8 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput']) ...@@ -400,6 +400,8 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
// Find the max power level // Find the max power level
var maxPowerLevel = 0; var maxPowerLevel = 0;
for (var i in $scope.members) { for (var i in $scope.members) {
if (!$scope.members.hasOwnProperty(i)) continue;
var member = $scope.members[i]; var member = $scope.members[i];
if (member.powerLevel) { if (member.powerLevel) {
maxPowerLevel = Math.max(maxPowerLevel, member.powerLevel); maxPowerLevel = Math.max(maxPowerLevel, member.powerLevel);
...@@ -409,6 +411,8 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput']) ...@@ -409,6 +411,8 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
// Normalized them on a 0..100% scale to be use in css width // Normalized them on a 0..100% scale to be use in css width
if (maxPowerLevel) { if (maxPowerLevel) {
for (var i in $scope.members) { for (var i in $scope.members) {
if (!$scope.members.hasOwnProperty(i)) continue;
var member = $scope.members[i]; var member = $scope.members[i];
member.powerLevelNorm = (member.powerLevel * 100) / maxPowerLevel; member.powerLevelNorm = (member.powerLevel * 100) / maxPowerLevel;
} }
...@@ -724,6 +728,8 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput']) ...@@ -724,6 +728,8 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
// Update the member list // Update the member list
for (var i in members) { for (var i in members) {
if (!members.hasOwnProperty(i)) continue;
var member = members[i]; var member = members[i];
updateMemberList(member); updateMemberList(member);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment