bug 78919, part 3: Move nsMIMEInfoImpl to exthandler, and don't allow to CreateInstance it

r=bzbarsky sr=darin
This commit is contained in:
cbiesinger%web.de 2004-01-28 14:48:22 +00:00
Родитель 7126fa6307
Коммит 049f6d895d
13 изменённых файлов: 32 добавлений и 35 удалений

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

@ -116,12 +116,6 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsAppleFileDecoder)
///////////////////////////////////////////////////////////////////////////////
#include "nsMIMEInfoImpl.h"
NS_GENERIC_FACTORY_CONSTRUCTOR(nsMIMEInfoImpl)
///////////////////////////////////////////////////////////////////////////////
#include "nsMIMEHeaderParamImpl.h"
NS_GENERIC_FACTORY_CONSTRUCTOR(nsMIMEHeaderParamImpl)
@ -878,12 +872,6 @@ static const nsModuleComponentInfo gNetModuleInfo[] = {
},
// from netwerk/mime:
{ "xml mime INFO",
NS_MIMEINFO_CID,
NS_MIMEINFO_CONTRACTID,
nsMIMEInfoImplConstructor
},
{ "mime header param",
NS_MIMEHEADERPARAM_CID,
NS_MIMEHEADERPARAM_CONTRACTID,

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

@ -35,7 +35,6 @@ REQUIRES = xpcom \
$(NULL)
CPPSRCS = \
nsMIMEInfoImpl.cpp \
nsMIMEHeaderParamImpl.cpp \
$(NULL)

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

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

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

@ -86,6 +86,8 @@ ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
OSHELPER += nsGNOMERegistry.cpp
endif
LOCAL_INCLUDES = -I$(srcdir)
EXPORTS = nsExternalHelperAppService.h \
nsExternalProtocolHandler.h \
$(OSDIR)/nsOSHelperAppService.h \
@ -105,6 +107,7 @@ endif
CPPSRCS = \
nsExternalHelperAppService.cpp \
nsExternalProtocolHandler.cpp \
nsMIMEInfoImpl.cpp \
$(OSHELPER) \
$(NULL)

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

@ -160,7 +160,7 @@ nsresult nsOSHelperAppService::SetMIMEInfoForType(const char *aMIMEType, nsIMIME
nsresult rv = NS_ERROR_FAILURE;
nsCOMPtr<nsIMIMEInfo> mimeInfo (do_CreateInstance(NS_MIMEINFO_CONTRACTID));
nsCOMPtr<nsIMIMEInfo> mimeInfo = new nsMIMEInfoImpl();
if (mimeInfo) {
BMimeType mimeType(aMIMEType);
BMessage data;
@ -327,9 +327,10 @@ nsOSHelperAppService::GetMIMEInfoFromOS(const char *aMIMEType, const char *aFile
return mi;
*aFound = PR_FALSE;
CallCreateInstance(NS_MIMEINFO_CONTRACTID, &mi);
mi = new nsMIMEInfoImpl();
if (!mi)
return nsnull;
NS_ADDREF(mi);
if (aMIMEType && *aMIMEType)
mi->SetMIMEType(aMIMEType);
if (aFileExt && *aFileExt)

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

@ -356,7 +356,7 @@ nsresult nsInternetConfigService::FillMIMEInfoForICEntry(ICMapEntry& entry, nsIM
{
// create a mime info object and we'll fill it in based on the values from IC mapping entry
nsresult rv = NS_OK;
nsCOMPtr<nsIMIMEInfo> info (do_CreateInstance(NS_MIMEINFO_CONTRACTID));
nsCOMPtr<nsIMIMEInfo> info (new nsMIMEInfoImpl());
if (info)
{
nsCAutoString mimetype ((char *)&entry.MIMEType[1], entry.MIMEType[0]);

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

@ -288,9 +288,10 @@ nsOSHelperAppService::GetMIMEInfoFromOS(const char * aMIMEType,
if (!mimeInfo) {
*aFound = PR_FALSE;
PR_LOG(mLog, PR_LOG_DEBUG, ("Creating new mimeinfo\n"));
CallCreateInstance(NS_MIMEINFO_CONTRACTID, &mimeInfo);
mimeInfo = new nsMIMEInfoImpl();
if (!mimeInfo)
return nsnull;
NS_ADDREF(mimeInfo);
if (aMIMEType && *aMIMEType)
mimeInfo->SetMIMEType(aMIMEType);

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

@ -36,6 +36,7 @@
#include "nsIHelperAppLauncherDialog.h"
#include "nsIMIMEInfo.h"
#include "nsMIMEInfoImpl.h"
#include "nsIMIMEService.h"
#include "nsIStreamListener.h"
#include "nsIFile.h"

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

@ -1519,10 +1519,10 @@ nsOSHelperAppService::GetFromExtension(const char *aFileExt) {
return nsnull;
}
nsIMIMEInfo* mimeInfo = nsnull;
rv = CallCreateInstance(NS_MIMEINFO_CONTRACTID, &mimeInfo);
if (NS_FAILED(rv))
nsIMIMEInfo* mimeInfo = new nsMIMEInfoImpl();
if (!mimeInfo)
return nsnull;
NS_ADDREF(mimeInfo);
mimeType = majorType + NS_LITERAL_STRING("/") + minorType;
mimeInfo->SetMIMEType(NS_ConvertUCS2toUTF8(mimeType).get());
@ -1648,10 +1648,10 @@ nsOSHelperAppService::GetFromType(const char *aMIMEType) {
extensions,
mime_types_description);
nsIMIMEInfo* mimeInfo = nsnull;
rv = CallCreateInstance(NS_MIMEINFO_CONTRACTID, &mimeInfo);
if (NS_FAILED(rv))
nsIMIMEInfo* mimeInfo = new nsMIMEInfoImpl();
if (!mimeInfo)
return nsnull;
NS_ADDREF(mimeInfo);
mimeInfo->SetFileExtensions(PromiseFlatCString(NS_ConvertUCS2toUTF8(extensions)).get());
mimeInfo->SetMIMEType(aMIMEType);
@ -1703,8 +1703,9 @@ nsOSHelperAppService::GetMIMEInfoFromOS(const char *aType,
// If we got nothing, make a new mimeinfo
if (!retval) {
*aFound = PR_FALSE;
CallCreateInstance(NS_MIMEINFO_CONTRACTID, &retval);
retval = new nsMIMEInfoImpl();
if (retval) {
NS_ADDREF(retval);
if (aType && *aType)
retval->SetMIMEType(aType);
if (aFileExt && *aFileExt)

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

@ -42,6 +42,7 @@
#include "nsString.h"
#include "nsIComponentManager.h"
#include "nsILocalFile.h"
#include "nsMIMEInfoImpl.h"
#include <glib.h>
#include <glib-object.h>
@ -263,7 +264,7 @@ nsGNOMERegistry::GetFromType(const char *aMIMEType)
if (!handlerApp)
return nsnull;
mimeInfo = do_CreateInstance(NS_MIMEINFO_CONTRACTID);
mimeInfo = new nsMIMEInfoImpl();
NS_ENSURE_TRUE(mimeInfo, nsnull);
mimeInfo->SetMIMEType(aMIMEType);

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

@ -1431,10 +1431,10 @@ nsOSHelperAppService::GetFromExtension(const char *aFileExt) {
return nsnull;
}
nsIMIMEInfo* mimeInfo = nsnull;
rv = CallCreateInstance(NS_MIMEINFO_CONTRACTID, &mimeInfo);
if (NS_FAILED(rv))
nsIMIMEInfo* mimeInfo = new nsMIMEInfoImpl();
if (!mimeInfo)
return nsnull;
NS_ADDREF(mimeInfo);
mimeType = majorType + NS_LITERAL_STRING("/") + minorType;
mimeInfo->SetMIMEType(NS_ConvertUCS2toUTF8(mimeType).get());
@ -1580,10 +1580,10 @@ nsOSHelperAppService::GetFromType(const char *aMIMEType) {
return nsnull;
}
nsIMIMEInfo* mimeInfo = nsnull;
rv = CallCreateInstance(NS_MIMEINFO_CONTRACTID, &mimeInfo);
if (NS_FAILED(rv))
nsIMIMEInfo* mimeInfo = new nsMIMEInfoImpl();
if (!mimeInfo)
return nsnull;
NS_ADDREF(mimeInfo);
mimeInfo->SetFileExtensions(NS_ConvertUCS2toUTF8(extensions).get());
mimeInfo->SetMIMEType(aMIMEType);
@ -1637,8 +1637,9 @@ nsOSHelperAppService::GetMIMEInfoFromOS(const char *aType,
// If we got nothing, make a new mimeinfo
if (!retval) {
*aFound = PR_FALSE;
CallCreateInstance(NS_MIMEINFO_CONTRACTID, &retval);
retval = new nsMIMEInfoImpl();
if (retval) {
NS_ADDREF(retval);
if (aType && *aType)
retval->SetMIMEType(aType);
if (aFileExt && *aFileExt)

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

@ -408,10 +408,10 @@ already_AddRefed<nsIMIMEInfo> nsOSHelperAppService::GetByExtension(const char *a
nsAutoString description;
PRBool found = GetValueString(hKey, NULL, description);
nsIMIMEInfo* mimeInfo = nsnull;
CallCreateInstance(NS_MIMEINFO_CONTRACTID, &mimeInfo);
nsIMIMEInfo* mimeInfo = new nsMIMEInfoImpl();
if (mimeInfo)
{
NS_ADDREF(mimeInfo);
if (!typeToUse.IsEmpty())
mimeInfo->SetMIMEType(typeToUse.get());
// don't append the '.'
@ -504,8 +504,9 @@ already_AddRefed<nsIMIMEInfo> nsOSHelperAppService::GetMIMEInfoFromOS(const char
}
if (!miByExt && !mi) {
*aFound = PR_FALSE;
CallCreateInstance(NS_MIMEINFO_CONTRACTID, &mi);
mi = new nsMIMEInfoImpl();
if (mi) {
NS_ADDREF(mi);
if (aMIMEType && *aMIMEType)
mi->SetMIMEType(aMIMEType);
if (aFileExt && *aFileExt)