+++ This bug was initially created as a clone of Bug #918651 +++ Here is a sad #include graph ( -> means #includes) FTPChannelChild.cpp | | V TabChild.h | | V PBrowserChild.h | | V PBrowser.h -----------------> FrameMetrics.h | | | | V V gfxMatrix.h ---------------> many other gfx things... So there are various things that we can try to fix here, but apparently the first place to look (because it will affect a maximal number of .cpp files) is PBrowser.h which is a IPDL generated header. We made it possible to forward-declare things in IPDL, but there are a fair number of gfx things (Units.h, etc.) that can't be forward-declared. Those should be fixed up and the IPDL modified appropriately.
It looks like bug 904336 might take care of the TabChild.h badness. There might be other include paths, though.