I would like to synchronize the JS code with what is really being drawn in my chrome. For example, if I change a CSS attribute which makes a menu pop up, it takes an amount of time before that menu actually pops up. I would like to wait for the menu to be finished, and then continue doing other stuff. Is this possible? As for now, my XPCOM component implements the nsIDocumentObserver interface, which gives me notification when a CSS attribute has changed (member function AttributeChanged). That's nice and all, but this event gets generated before the work has been carried out. A quick gdb session told me that no nsEvent object gets instantiated after my menu has popped up. Does that say it all, i.e. that no event is generated when it is finished? /martin
