Turns out that there aren't nearly as many dead interfaces (derived from nsISupports) in Moz as one would expect. 7/10 unimplemented ones are public interfaces. Note that I'm also processing testcases, so there aren't any testcases for these. Here is the script I used to find them. http://hg.mozilla.org/oink/?file/0ab46e97549e/dehydra_scripts/find_single_impl.js Here are my stats: 6375 classes derived from nsISupports layout/style/nsCSSAnonBoxes.h:48: nsICSSAnonBoxPseudo has no class members. layout/style/nsCSSPseudoElements.h:48: nsICSSPseudoElement has no class members. layout/style/nsCSSPseudoClasses.h:48: nsICSSPseudoClass has no class members. 355 valid non-XPIDL interfaces Only one implementation: 153 No Implementation: 10 content/svg/content/src/nsIDOMSVGListener.h:52: nsIDOMSVGListener content/svg/content/src/nsIDOMSVGZoomListener.h:52: nsIDOMSVGZoomListener widget/public/nsIMouseListener.h:55: nsIMouseListener widget/public/nsIMenuListener.h:58: nsIMenuListener dom/public/nsIDOMClassInfo.h:148: nsIDOMCIExtension intl/uconv/public/nsIUnicodeEncoder.h:79: nsIUnicharEncoder dom/src/base/nsGlobalWindowCommands.cpp:677: nsWebNavigationBaseCommand layout/xul/base/src/nsIScrollbarListener.h:50: nsIScrollbarListener widget/public/nsIPluginWidget.h:50: nsIPluginWidget content/base/public/nsIXFormsUtilityService.h:65: nsIXFormsUtilityService
I wonder if nsIDOMSVGListener and nsIDOMSVGZoomListener are used by svg zoom/pan extensions e.g. bug 163068 comment 32
I suggested we use sort -u | comm -23 to set-difference the list taras produced minus the mozpad list of known-useful platform interfaces, to get a hit-list. Thoughts? /be
nsIXFormsUtilityService is used at least by xforms extension. nsWebNavigationBaseCommand is not an interface.
(In reply to comment #3) > nsIXFormsUtilityService is used at least by xforms extension. as well by accessibility.
The SVG interfaces were removed in bug 499665. If there are any other unused interfaces then I guess they need a new bug with a different component.