Mozilla Layout Classes: nsIFrame class hierarchy
The Mozilla layout code uses frame objects to lay out the DOM on the screen. (These are entirely different from <:frame> nodes in the DOM). All Mozilla frames inherit from a single C++ abstract class nsIFrame. As part of a project I’m working on to separate the frame classes from XPCOM, I used dehydra to generate a graph of all the frame types in Mozilla.
What I really want for Christmas is a web-based interactive graph viewer for this type of content. I’ve seen a couple closed-source things in Java, but nothing really exciting or hackable.
Note: Viewing this graph in Safari won’t work, because the image is much larger than a single screen, and Safari doesn’t provide scrollbars for SVG that overflows… feel free to download it and view in inkscape, though, or get Firefox!.
January 9th, 2009 at 6:09 pm
It seems as if multiple inheritance aren’t used, so why not just show the tree as a nested list? It would probably take up less space that way.
January 9th, 2009 at 8:54 pm
[…] Benjamin Smedbergæ°ã®ãƒ–ãƒã‚°ã§ã€nsIFrameを継承ã—ãŸã‚¯ãƒ©ã‚¹ã®éšŽå±¤ã‚’SVGã§è¡¨ç¾ã—ãŸå›³ãŒå…¬é–‹ã•ã‚Œã¦ã„る。WebKitç³»ã§å¤§ããªSVGを表示ã—ã¦ã‚‚スクãƒãƒ¼ãƒ«ãƒãƒ¼ãŒå‡ºãªã„ã®ã…。今ã¯Google Chromeを常用ã—ã¦ã„ã‚‹ã®ã§é¢å–°ã£ãŸã€‚ […]
January 11th, 2009 at 11:43 am
Opera also provides scrollbars on the SVG
January 15th, 2009 at 12:17 pm
I agree, it would be super awesome to have some zoom-in zoom-out views of the sizeable mozilla codebase. BTW, I find these kinds of posts very helpful, keep ’em coming and thanks!
October 26th, 2010 at 8:33 am
Have you tried graphviz? There are a lot of tools for transforming or viewing graphs. http://www.graphviz.org/Resources.php
Especially webdot might be what you are looking for: http://www.graphviz.org/webdot/
Also, if I remember correct, doxygen together with dot is able to generate graphs that expand or collapse when clicking on nodes.