I checked in the view manager hierarchy unification, and after some
worrying about Tp regressions, it looked OK. But it caused problems, due
to the way it interacts with view update batching. See
https://bugzilla.mozilla.org/show_bug.cgi?id=360789. View update
batching is really fragile and I'm reluctant to hack on it to try to get
things working for 1.9a1, so I backed out VMHU.
We might be able to reland VMHU if we can just hunt down and eliminate
unnecessary synchronous repaints. I was able to fix at least one
testcase on Linux by doing this, but the patch didn't help Windows. That
is something I will try to look into if I can scare up some Windows help.
In the bigger picture, view update batching basically does two things:
a) batches changes to child widget geometry
b) batches view invalidations
It doesn't work well when we get a synchronous paint (e.g. from
scrolling) during a batch. I think we should try to get rid of all
synchronous paints, they cause reentrancy and are generally painful.