third_party/js/mozmill/shared-modules/dom-utils.js
function DOMWalker_walk(ids, root, waitFunction) {
    if (typeof waitFunction == 'function')
      this._controller.waitFor(waitFunction());

    if (!root)
      root = this._controller.window.document.documentElement;

    var resultsArray = this._walk(root);

    if (typeof this._callbackResults == 'function')
      this._callbackResults(this._controller, resultsArray);

    if (ids)
      this._prepareTargetWindows(ids);
  }
function DOMWalker_walk(ids, root, waitFunction) {
    if (typeof waitFunction == 'function')
      this._controller.waitFor(waitFunction());

    if (!root)
      root = this._controller.window.document.documentElement;

    var resultsArray = this._walk(root);

    if (typeof this._callbackResults == 'function')
      this._callbackResults(this._controller, resultsArray);

    if (ids)
      this._prepareTargetWindows(ids);
  }
function DOMWalker_walk ( ids , root , waitFunction ) { if ( typeof waitFunction == 'function' ) this . _controller . waitFor ( waitFunction ( ) ) ; if ( ! root ) root = this . _controller . window . document . documentElement ; var resultsArray = this . _walk ( root ) ; if ( typeof this . _callbackResults == 'function' ) this . _callbackResults ( this . _controller , resultsArray ) ; if ( ids ) this . _prepareTargetWindows ( ids ) ; }
The main DOMWalker function.

It start's the _walk-method for a given window or other dialog, runs
a callback to process the results for that window/dialog.
After that switches to provided new windows/dialogs.

@param {array of objects} ids
Contains informations on the elements to open while
Object-elements:  getBy         - attribute-name of the attribute
containing the identification
information for the opener-element
subContent    - array of ids of the opener-elements
in the window with the value of
the above getBy-attribute
target        - information, where the new
elements will be opened
[1|2|4]
title         - title of the opened dialog/window
waitFunction  - The function used as an argument
for MozmillController.waitFor to
wait before starting the walk.
[optional - default: no waiting]
windowHandler - Window instance
[only needed for some tests]

@param {Node} root
Node to start testing from
[optional - default: this._controller.window.document.documentElement]
@param {Function} waitFunction
The function used as an argument for MozmillController.waitFor to
wait before starting the walk.
[optional - default: no waiting]
The main DOMWalker function .