Created attachment 585264 [details] [diff] [review] gfxInfoCollector.patch User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0.1) Gecko/20100101 Firefox/9.0.1 Build ID: 20111220165912 Steps to reproduce: Compile external binary xpcom component linking with xul library and using Thebes api. Actual results: Compilation failed because gfx/thebes/gfxPlatform.h include GfxInfoCollector.h which require MOZILLA_INTERNAL_API by using explicit reference to nsPromiseFlatString.(which is only defined for MOZILLA_INTERNAL_API). Expected results: Compilation should have succeeded because Thebes is defined as an exportable api for use in external components. The proposed patch replace the the const ref to nsPromiseFlatString with a const ref to nsString which is a base class of nsPromiseFlatString and is compatible with the typedef for PromiseFlatString defined in nsStringAPI.h .