Bug 775661 - Added dump tree Logger method, and states to string function. r=davidb

This commit is contained in:
Eitan Isaacson 2012-07-20 09:46:54 -07:00
parent 8947c75b9d
commit 39ec984a2f

View File

@ -165,5 +165,32 @@ var Logger = {
}
return str;
}
},
statesToString: function statesToString(aAccessible) {
let [state, extState] = Utils.getStates(aAccessible);
let stringArray = [];
let stateStrings = gAccRetrieval.getStringStates(state, extState);
for (var i=0; i < stateStrings.length; i++)
stringArray.push(stateStrings.item(i));
return stringArray.join(' ');
},
dumpTree: function dumpTree(aLogLevel, aRootAccessible) {
if (aLogLevel < this.logLevel)
return;
this._dumpTreeInternal(aLogLevel, aRootAccessible, 0);
},
_dumpTreeInternal: function _dumpTreeInternal(aLogLevel, aAccessible, aIndent) {
let indentStr = '';
for (var i=0; i < aIndent; i++)
indentStr += ' ';
this.log(aLogLevel, indentStr,
this.accessibleToString(aAccessible),
'(' + this.statesToString(aAccessible) + ')');
for (var i=0; i < aAccessible.childCount; i++)
this._dumpTreeInternal(aLogLevel, aAccessible.getChildAt(i), aIndent + 1);
}
};