Bug 887577 - Return empty object when accessible is null, or when it has no attributes field. r=yzen

This commit is contained in:
Eitan Isaacson 2013-06-27 14:15:36 -07:00
parent e017b78eb7
commit d81d2123d6

View File

@ -191,15 +191,18 @@ this.Utils = {
},
getAttributes: function getAttributes(aAccessible) {
let attributesEnum = aAccessible.attributes.enumerate();
let attributes = {};
// Populate |attributes| object with |aAccessible|'s attribute key-value
// pairs.
while (attributesEnum.hasMoreElements()) {
let attribute = attributesEnum.getNext().QueryInterface(
Ci.nsIPropertyElement);
attributes[attribute.key] = attribute.value;
if (aAccessible && aAccessible.attributes) {
let attributesEnum = aAccessible.attributes.enumerate();
// Populate |attributes| object with |aAccessible|'s attribute key-value
// pairs.
while (attributesEnum.hasMoreElements()) {
let attribute = attributesEnum.getNext().QueryInterface(
Ci.nsIPropertyElement);
attributes[attribute.key] = attribute.value;
}
}
return attributes;