Bug 568691 - Add CID data back to classinfo because it's required for fastload to work correctly.

This commit is contained in:
Benjamin Smedberg 2010-06-22 12:59:57 -04:00
Родитель 31432df1fb
Коммит a73308ef4b
20 изменённых файлов: 49 добавлений и 30 удалений

Просмотреть файл

@ -53,7 +53,8 @@
#include "nsDOMError.h"
#include "nsScriptSecurityManager.h"
NS_IMPL_CLASSINFO(nsNullPrincipal, NULL, nsIClassInfo::MAIN_THREAD_ONLY)
NS_IMPL_CLASSINFO(nsNullPrincipal, NULL, nsIClassInfo::MAIN_THREAD_ONLY,
NS_NULLPRINCIPAL_CID)
NS_IMPL_QUERY_INTERFACE2_CI(nsNullPrincipal,
nsIPrincipal,
nsISerializable)

Просмотреть файл

@ -140,7 +140,8 @@ PRInt32 nsPrincipal::sCapabilitiesOrdinal = 0;
const char nsPrincipal::sInvalid[] = "Invalid";
NS_IMPL_CLASSINFO(nsPrincipal, NULL, nsIClassInfo::MAIN_THREAD_ONLY)
NS_IMPL_CLASSINFO(nsPrincipal, NULL, nsIClassInfo::MAIN_THREAD_ONLY,
NS_PRINCIPAL_CID)
NS_IMPL_QUERY_INTERFACE2_CI(nsPrincipal,
nsIPrincipal,
nsISerializable)

Просмотреть файл

@ -50,7 +50,8 @@
#include "nsIClassInfoImpl.h"
NS_IMPL_CLASSINFO(nsSystemPrincipal, NULL,
nsIClassInfo::SINGLETON | nsIClassInfo::MAIN_THREAD_ONLY)
nsIClassInfo::SINGLETON | nsIClassInfo::MAIN_THREAD_ONLY,
NS_SYSTEMPRINCIPAL_CID)
NS_IMPL_QUERY_INTERFACE2_CI(nsSystemPrincipal,
nsIPrincipal,
nsISerializable)

Просмотреть файл

@ -119,7 +119,8 @@ nsXPCException::GetNSResultCount()
/***************************************************************************/
NS_IMPL_CLASSINFO(nsXPCException, NULL, nsIClassInfo::DOM_OBJECT)
NS_IMPL_CLASSINFO(nsXPCException, NULL, nsIClassInfo::DOM_OBJECT,
NS_XPCEXCEPTION_CID)
NS_INTERFACE_MAP_BEGIN(nsXPCException)
NS_INTERFACE_MAP_ENTRY(nsIException)
NS_INTERFACE_MAP_ENTRY(nsIXPCException)

Просмотреть файл

@ -286,11 +286,16 @@ NS_METHOD GetSharedScriptableHelperForJSIID(PRUint32 language,
static JSBool gClassObjectsWereInited = JS_FALSE;
#define NULL_CID \
{ 0x00000000, 0x0000, 0x0000, \
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }
NS_DECL_CI_INTERFACE_GETTER(nsJSIID)
NS_IMPL_CLASSINFO(nsJSIID, GetSharedScriptableHelperForJSIID, nsIClassInfo::THREADSAFE)
NS_IMPL_CLASSINFO(nsJSIID, GetSharedScriptableHelperForJSIID,
nsIClassInfo::THREADSAFE, NULL_CID)
NS_DECL_CI_INTERFACE_GETTER(nsJSCID)
NS_IMPL_CLASSINFO(nsJSCID, NULL, nsIClassInfo::THREADSAFE)
NS_IMPL_CLASSINFO(nsJSCID, NULL, nsIClassInfo::THREADSAFE, NULL_CID)
void xpc_InitJSxIDClassObjects()
{

Просмотреть файл

@ -43,11 +43,6 @@
/* Module implementation for the xpconnect library. */
// {DC524540-487E-4501-9AC7-AAA784B17C1C}
#define XPCVARIANT_CID \
{0xdc524540, 0x487e, 0x4501, \
{ 0x9a, 0xc7, 0xaa, 0xa7, 0x84, 0xb1, 0x7c, 0x1c } }
#define XPCVARIANT_CONTRACTID "@mozilla.org/xpcvariant;1"
#define XPC_JSCONTEXT_STACK_ITERATOR_CONTRACTID \
"@mozilla.org/js/xpc/ContextStackIterator;1"

Просмотреть файл

@ -4219,6 +4219,11 @@ extern char * xpc_CheckAccessList(const PRUnichar* wideName, const char* list[])
{0x1809fd50, 0x91e8, 0x11d5, \
{ 0x90, 0xf9, 0x0, 0x10, 0xa4, 0xe7, 0x3d, 0x9a } }
// {DC524540-487E-4501-9AC7-AAA784B17C1C}
#define XPCVARIANT_CID \
{0xdc524540, 0x487e, 0x4501, \
{ 0x9a, 0xc7, 0xaa, 0xa7, 0x84, 0xb1, 0x7c, 0x1c } }
class XPCVariant : public nsIVariant
{
public:

Просмотреть файл

@ -44,7 +44,7 @@
NS_IMPL_CYCLE_COLLECTION_CLASS(XPCVariant)
NS_IMPL_CLASSINFO(XPCVariant, NULL, 0)
NS_IMPL_CLASSINFO(XPCVariant, NULL, 0, XPCVARIANT_CID)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(XPCVariant)
NS_INTERFACE_MAP_ENTRY(XPCVariant)
NS_INTERFACE_MAP_ENTRY(nsIVariant)

Просмотреть файл

@ -56,6 +56,7 @@
#include "nsThreadUtils.h"
#include "nsString.h"
#include "nsNetUtil.h"
#include "nsNetCID.h"
#include "nsCRT.h"
#include "prnetdb.h"
#include "nsPACMan.h"
@ -291,7 +292,8 @@ static const PRInt32 PROXYCONFIG_COUNT = 6;
NS_IMPL_ADDREF(nsProtocolProxyService)
NS_IMPL_RELEASE(nsProtocolProxyService)
NS_IMPL_CLASSINFO(nsProtocolProxyService, NULL, nsIClassInfo::SINGLETON)
NS_IMPL_CLASSINFO(nsProtocolProxyService, NULL, nsIClassInfo::SINGLETON,
NS_PROTOCOLPROXYSERVICE_CID)
NS_IMPL_QUERY_INTERFACE3_CI(nsProtocolProxyService,
nsIProtocolProxyService,
nsIProtocolProxyService2,

Просмотреть файл

@ -75,6 +75,9 @@
#define DEBUG_COMMANDLINE
#endif
#define NS_COMMANDLINE_CID \
{ 0x23bcc750, 0xdc20, 0x460b, { 0xb2, 0xd4, 0x74, 0xd8, 0xf5, 0x8d, 0x36, 0x15 } }
class nsCommandLine : public nsICommandLineRunner
{
public:
@ -114,7 +117,7 @@ nsCommandLine::nsCommandLine() :
}
NS_IMPL_CLASSINFO(nsCommandLine, NULL, 0)
NS_IMPL_CLASSINFO(nsCommandLine, NULL, 0, NS_COMMANDLINE_CID)
NS_IMPL_ISUPPORTS2_CI(nsCommandLine,
nsICommandLine,
nsICommandLineRunner)
@ -710,9 +713,6 @@ nsCommandLine::GetHelpText(nsACString& aResult)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsCommandLine)
#define NS_COMMANDLINE_CID \
{ 0x23bcc750, 0xdc20, 0x460b, { 0xb2, 0xd4, 0x74, 0xd8, 0xf5, 0x8d, 0x36, 0x15 } }
NS_DEFINE_NAMED_CID(NS_COMMANDLINE_CID);
static const mozilla::Module::CIDEntry kCommandLineCIDs[] = {

Просмотреть файл

@ -210,7 +210,8 @@ static const PRInt64 USECS_PER_DAY = LL_INIT(20, 500654080);
NS_IMPL_THREADSAFE_ADDREF(nsNavHistory)
NS_IMPL_THREADSAFE_RELEASE(nsNavHistory)
NS_IMPL_CLASSINFO(nsNavHistory, NULL, nsIClassInfo::SINGLETON)
NS_IMPL_CLASSINFO(nsNavHistory, NULL, nsIClassInfo::SINGLETON,
NS_NAVHISTORYSERVICE_CID)
NS_INTERFACE_MAP_BEGIN(nsNavHistory)
NS_INTERFACE_MAP_ENTRY(nsINavHistoryService)
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsIGlobalHistory2, nsIGlobalHistory3)

Просмотреть файл

@ -81,7 +81,8 @@ CheckLoadURIFromScript(JSContext *aCx, const nsACString& aUriStr)
return rv;
}
NS_IMPL_CLASSINFO(amInstallTrigger, NULL, nsIClassInfo::DOM_OBJECT)
NS_IMPL_CLASSINFO(amInstallTrigger, NULL, nsIClassInfo::DOM_OBJECT,
AM_InstallTrigger_CID)
NS_IMPL_ISUPPORTS1_CI(amInstallTrigger, amIInstallTrigger)
amInstallTrigger::amInstallTrigger()

Просмотреть файл

@ -42,6 +42,7 @@
#include "nsIURI.h"
#include "nsIClassInfoImpl.h"
#include "nsCOMPtr.h"
#include "nsCExternalHandlerService.h"
#if (MOZ_PLATFORM_MAEMO == 5)
#define APP_LAUNCH_BANNER_SERVICE "com.nokia.hildon-desktop"
@ -53,7 +54,7 @@
// XXX why does nsMIMEInfoImpl have a threadsafe nsISupports? do we need one
// here too?
NS_IMPL_CLASSINFO(nsDBusHandlerApp, NULL, 0)
NS_IMPL_CLASSINFO(nsDBusHandlerApp, NULL, 0, NS_DBUSHANDLERAPP_CID)
NS_IMPL_ISUPPORTS2_CI(nsDBusHandlerApp, nsIDBusHandlerApp, nsIHandlerApp)
////////////////////////////////////////////////////////////////////////////////

Просмотреть файл

@ -55,7 +55,7 @@
NS_IMPL_THREADSAFE_ADDREF(nsConsoleService)
NS_IMPL_THREADSAFE_RELEASE(nsConsoleService)
NS_IMPL_CLASSINFO(nsConsoleService, NULL, nsIClassInfo::THREADSAFE | nsIClassInfo::SINGLETON)
NS_IMPL_CLASSINFO(nsConsoleService, NULL, nsIClassInfo::THREADSAFE | nsIClassInfo::SINGLETON, NS_CONSOLESERVICE_CID)
NS_IMPL_QUERY_INTERFACE1_CI(nsConsoleService, nsIConsoleService)
NS_IMPL_CI_INTERFACE_GETTER1(nsConsoleService, nsIConsoleService)

Просмотреть файл

@ -70,5 +70,6 @@ GenericClassInfo::GetFlags(PRUint32* flags)
NS_IMETHODIMP
GenericClassInfo::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
{
return NS_ERROR_NOT_IMPLEMENTED;
*aClassIDNoAlloc = mData->cid;
return NS_OK;
}

Просмотреть файл

@ -52,6 +52,7 @@ public:
GetInterfacesProc getinterfaces;
GetLanguageHelperProc getlanguagehelper;
PRUint32 flags;
nsCID cid;
};
NS_DECL_ISUPPORTS_INHERITED
@ -71,14 +72,13 @@ private:
extern NS_IMETHODIMP NS_CI_INTERFACE_GETTER_NAME(_class) \
(PRUint32 * NS_OUTPARAM, nsIID *** NS_OUTPARAM);
#define NS_DECL_CLASSINFO(_class) foobarstopcompilinghere;
#define NS_IMPL_CLASSINFO(_class, _getlanguagehelper, _flags) \
#define NS_IMPL_CLASSINFO(_class, _getlanguagehelper, _flags, _cid) \
NS_DECL_CI_INTERFACE_GETTER(_class) \
static const GenericClassInfo::ClassInfoData k##_class##ClassInfoData = { \
NS_CI_INTERFACE_GETTER_NAME(_class), \
_getlanguagehelper, \
_flags \
_flags, \
_cid, \
}; \
nsIClassInfo* NS_CLASSINFO_NAME(_class) = NULL;

Просмотреть файл

@ -119,7 +119,8 @@ private:
NS_IMPL_THREADSAFE_ADDREF(nsStringInputStream)
NS_IMPL_THREADSAFE_RELEASE(nsStringInputStream)
NS_IMPL_CLASSINFO(nsStringInputStream, NULL, nsIClassInfo::THREADSAFE)
NS_IMPL_CLASSINFO(nsStringInputStream, NULL, nsIClassInfo::THREADSAFE,
NS_STRINGINPUTSTREAM_CID)
NS_IMPL_QUERY_INTERFACE4_CI(nsStringInputStream,
nsIStringInputStream,
nsIInputStream,

Просмотреть файл

@ -77,7 +77,7 @@ nsSampleImpl::~nsSampleImpl()
* The _CI variant adds support for nsIClassInfo, which permits introspection
* and interface flattening.
*/
NS_IMPL_CLASSINFO(nsSampleImpl, NULL, 0)
NS_IMPL_CLASSINFO(nsSampleImpl, NULL, 0, NS_SAMPLE_CID)
NS_IMPL_ISUPPORTS1_CI(nsSampleImpl, nsISample)
/**
* Notice that in the protoype for this function, the NS_IMETHOD macro was

Просмотреть файл

@ -76,7 +76,9 @@ nsThreadManager nsThreadManager::sInstance;
// statically allocated instance
NS_IMETHODIMP_(nsrefcnt) nsThreadManager::AddRef() { return 2; }
NS_IMETHODIMP_(nsrefcnt) nsThreadManager::Release() { return 1; }
NS_IMPL_CLASSINFO(nsThreadManager, NULL, nsIClassInfo::THREADSAFE | nsIClassInfo::SINGLETON)
NS_IMPL_CLASSINFO(nsThreadManager, NULL,
nsIClassInfo::THREADSAFE | nsIClassInfo::SINGLETON,
NS_THREADMANAGER_CID)
NS_IMPL_QUERY_INTERFACE1_CI(nsThreadManager, nsIThreadManager)
NS_IMPL_CI_INTERFACE_GETTER1(nsThreadManager, nsIThreadManager)

Просмотреть файл

@ -64,7 +64,8 @@ static PRLogModuleInfo *sLog = PR_NewLogModule("nsThreadPool");
NS_IMPL_THREADSAFE_ADDREF(nsThreadPool)
NS_IMPL_THREADSAFE_RELEASE(nsThreadPool)
NS_IMPL_CLASSINFO(nsThreadPool, NULL, nsIClassInfo::THREADSAFE)
NS_IMPL_CLASSINFO(nsThreadPool, NULL, nsIClassInfo::THREADSAFE,
NS_THREADPOOL_CID)
NS_IMPL_QUERY_INTERFACE3_CI(nsThreadPool, nsIThreadPool, nsIEventTarget,
nsIRunnable)
NS_IMPL_CI_INTERFACE_GETTER2(nsThreadPool, nsIThreadPool, nsIEventTarget)