зеркало из https://github.com/mozilla/gecko-dev.git
168a1fcbdc
Removing the exported symbols is straightforward enough. The only wrinkle is that PeerConnectionCtx.cpp gets compiled with and without MOZILLA_INTERNAL_API. When compiling without MOZILLA_INTERNAL_API, mozilla::services::Get*Service was redirected to the _external_* symbol variants. But as the _external_* symbols no longer exist, PeerConnectionCtx.cpp's code no longer worked. Fortunately, PeerConnectionCtx.cpp already contains a few #ifdef MOZILLA_INTERNAL_API blocks to handle internal/external compilation; fixing this newest issue was just a matter of extending existing blocks and adding new ones. The key observation is that we never added any observers when compiling without MOZILLA_INTERNAL_API, so we can #ifdef out the removals of observers, as those would have no effect, and simply skip getting the observer service for the observer additions if we're compiling without MOZILLA_INTERNAL_API. |
||
---|---|---|
.. | ||
BinaryPath.h | ||
FileLocation.cpp | ||
FileLocation.h | ||
IOInterposer.cpp | ||
IOInterposer.h | ||
IOInterposerPrivate.h | ||
LateWriteChecks.cpp | ||
LateWriteChecks.h | ||
MainThreadIOLogger.cpp | ||
MainThreadIOLogger.h | ||
NSPRInterposer.cpp | ||
NSPRInterposer.h | ||
Omnijar.cpp | ||
Omnijar.h | ||
PoisonIOInterposer.h | ||
PoisonIOInterposerBase.cpp | ||
PoisonIOInterposerMac.cpp | ||
PoisonIOInterposerStub.cpp | ||
PoisonIOInterposerWin.cpp | ||
ServiceList.h | ||
Services.cpp | ||
Services.h | ||
XPCOM.h | ||
XPCOMInit.cpp | ||
XPCOMModule.inc | ||
XREAppData.h | ||
XREChildData.h | ||
XREShellData.h | ||
mach_override.c | ||
mach_override.h | ||
moz.build | ||
nsWindowsDllInterceptor.h | ||
nsXPCOM.h | ||
nsXPCOMCID.h | ||
nsXPCOMCIDInternal.h | ||
nsXPCOMPrivate.h | ||
nsXPCOMStrings.cpp | ||
nsXULAppAPI.h | ||
perfprobe.cpp | ||
perfprobe.h | ||
xpcom_alpha.def | ||
xrecore.h |