so I found some files in gfx/public/ today that, imho, should not be there... 1. There's nsPDECommon.h nsRepeater.h nsWatchTask.h these are only used on MacOS... however, Makefile.in exports nsRepeater.h for all OSes, and for all of these files, it would be imho clearer if they would be in a mac-specific directory (gfx/public/mac or something like that), so that people don't think this stuff is available on all platforms/must be implemented by all toolkits. 2. nsNameValuePairDB.h nsRenderingContextImpl.h imgScaler.h these are only used from inside gfx/... I don't think they should live in public/, and the last two of these files should definitely not be exported, imho... imgScaler misses the NS_GFX part in the declaration which would (I think) be necessary if it would be used outside of gfx. 3. gfxcompat.h. from the comment in the file, this is: * gfx ifdef file to make gfx2 and gfx live together given that gfx2 is dead, I would think that this file can be removed, and includes for it can probably be replaced by #include "nsCoord.h" which is what gfxcompat.h does unless GFX2_ONLY is defined (which is, basically, never the case). Any comments on my suggestions above?
I'm for it.
er, I just found another issue... nsRegion.h is in src/ but is a public API that is also used outside gfx... imho, it should be moved to public/. in addition, gfx/src/Makefile.in has an EXPORTS entry for nsFontList.h, though that file is used only inside gfx/; that EXPORTS line can probably be simply deleted as well... reassigning to me, as I plan to work on this sometime.
Created attachment 112106 [details] [diff] [review] patch this should do it, except the move of the mac files I mentioned. I'd like to do that in a separate patch, because it would involve mac project xml files (right?)
Comment on attachment 112106 [details] [diff] [review] patch oh yeah, I also merged gfxtypes and gfx2types, because the latter was only used by the former, and a separate file just made no sense to me.
Do we actually use any of the stuff from gfx2types.idl? Or can they just be completely removed?
Created attachment 112140 [details] [diff] [review] patch v1.1 ok, some (most) of the types there were not used. I now left only the used ones in.
Comment on attachment 112140 [details] [diff] [review] patch v1.1 sr=roc+moz strictly speaking I'm not a GFX peer. try kmcclusk
Comment on attachment 112140 [details] [diff] [review] patch v1.1 firstname.lastname@example.org
patch checked in. leaving open for the mac stuff I mentioned.
I decided to file Bug 223442 for the mentioned mac stuff