Jambu - technology sampler

This is a test of the technologies to be used for the Jambu Assistive Technology which will be controlling Firefox on Windows from XULRunner. Technologies include; XUL, XBL, SVG, MSAA, XULRunner with Python extensions (for DOM scripting and pyXPCOM), Python packages pywin32 and comtypes.

After a review it has been decided to not use XULRunner but rather to use LSR as the platform. See my blog post on the decision.

 

Installation

Uzip XULRunnerPy.zip (6MB) and Jambu.zip (500KB) so that the top folders are side-by-side. XULRunnerPy.zip is a custom build of XUL runner from the latest 'trunk' Mozilla source code and Jambu.zip is the XULRunner application (and all the source). Also install Python 25 (10MB), pywin32 (4MB) and comtypes.

 

Use

Simply open Jambu\run.bat (and wait a while the first time). The test application will Open with 3 console windows. Move the pyconsole out of the way. Ignore the 0 memory address access errors, this appears to be a tunk source problem which recently started to happen (to be debugged). There is a "Dev Tools" menu with various extras on (DOM Inspector is broken). Press the 'Grab' button to grab the file menu from Firefox or Minefield and create some boxes with SVG. Mouseover a cell to change background colour, click on a cell to toggle the border color. Activate the 'Fire' button to create and run some XPCOM @mozilla.org/timer objects with Python observers/callback objects. If the menu has been grabbed then JavaScript objects with nsIObserver in each cell will change the border to white on receiving a broadcast from the global @mozilla/observer-service fired from Python. Clicking arround in Firefox will generate MSAA Focus winevents that are hooked and logged in the text window (the number shows the re-entrancy level).

 

Remaining Issues