author | Eitan Isaacson <eitan@monotonous.org> |
Fri, 20 Jul 2012 09:46:54 -0700 | |
changeset 99924 | 69a69e2a873ddeb6dfbda04cb5ce4a45ef6086c1 |
parent 99923 | 0ec90d4991ca25287d2c742bdd574840efcc9f51 |
child 99925 | 6a893f7cea3ad129933b6561ef558045650bd309 |
push id | 12249 |
push user | eisaacson@mozilla.com |
push date | Fri, 20 Jul 2012 16:46:58 +0000 |
treeherder | mozilla-inbound@69a69e2a873d [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | davidb |
bugs | 775661 |
milestone | 17.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/accessible/src/jsat/Utils.jsm +++ b/accessible/src/jsat/Utils.jsm @@ -160,10 +160,37 @@ var Logger = { let event = aEvent.QueryInterface(Ci.nsIAccessibleStateChangeEvent); let stateStrings = (event.isExtraState()) ? gAccRetrieval.getStringStates(0, event.state) : gAccRetrieval.getStringStates(event.state, 0); str += ' (' + stateStrings.item(0) + ')'; } 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); + } };