mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 11:25:00 +00:00
Bug 362597 - "Increased Rlk (leak) on balsa after landing of bug 354787". r=bsmedberg.
This commit is contained in:
parent
bec6301e30
commit
4162af769c
@ -67,6 +67,8 @@ enum {
|
||||
#define CASE_MAP_CACHE_SIZE 0x40
|
||||
#define CASE_MAP_CACHE_MASK 0x3F
|
||||
|
||||
nsCaseConversionImp2* gCaseConv = nsnull;
|
||||
|
||||
struct nsCompressedMap {
|
||||
const PRUnichar *mTable;
|
||||
PRUint32 mSize;
|
||||
@ -149,17 +151,35 @@ struct nsCompressedMap {
|
||||
}
|
||||
};
|
||||
|
||||
NS_IMPL_THREADSAFE_ISUPPORTS1(nsCaseConversionImp2, nsICaseConversion)
|
||||
|
||||
static nsCompressedMap gUpperMap = {
|
||||
NS_REINTERPRET_CAST(const PRUnichar*, &gToUpper[0]),
|
||||
gToUpperItems
|
||||
};
|
||||
|
||||
static nsCompressedMap gLowerMap = {
|
||||
NS_REINTERPRET_CAST(const PRUnichar*, &gToLower[0]),
|
||||
gToLowerItems
|
||||
};
|
||||
|
||||
nsCaseConversionImp2* nsCaseConversionImp2::GetInstance()
|
||||
{
|
||||
if (!gCaseConv)
|
||||
NS_NEWXPCOM(gCaseConv, nsCaseConversionImp2);
|
||||
return gCaseConv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP_(nsrefcnt) nsCaseConversionImp2::AddRef(void)
|
||||
{
|
||||
return (nsrefcnt)1;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP_(nsrefcnt) nsCaseConversionImp2::Release(void)
|
||||
{
|
||||
return (nsrefcnt)1;
|
||||
}
|
||||
|
||||
NS_IMPL_THREADSAFE_QUERY_INTERFACE1(nsCaseConversionImp2, nsICaseConversion)
|
||||
|
||||
nsresult nsCaseConversionImp2::ToUpper(
|
||||
PRUnichar aChar, PRUnichar* aReturn
|
||||
)
|
||||
@ -365,11 +385,3 @@ nsCaseConversionImp2::CaseInsensitiveCompare(const PRUnichar *aLeft,
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult NS_NewCaseConversion(nsICaseConversion** oResult)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(oResult);
|
||||
NS_NEWXPCOM(*oResult, nsCaseConversionImp2);
|
||||
NS_IF_ADDREF(*oResult);
|
||||
return *oResult ? NS_OK :NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
@ -43,14 +43,13 @@
|
||||
|
||||
#include "nsICaseConversion.h"
|
||||
|
||||
nsresult NS_NewCaseConversion(nsISupports** oResult);
|
||||
|
||||
class nsCaseConversionImp2 : public nsICaseConversion {
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
public:
|
||||
virtual ~nsCaseConversionImp2() { };
|
||||
|
||||
static nsCaseConversionImp2* GetInstance();
|
||||
|
||||
NS_IMETHOD ToUpper(PRUnichar aChar, PRUnichar* aReturn);
|
||||
|
||||
@ -68,4 +67,6 @@ public:
|
||||
NS_IMETHOD CaseInsensitiveCompare(const PRUnichar* aLeft, const PRUnichar* aRight, PRUint32 aLength, PRInt32 *aResult);
|
||||
};
|
||||
|
||||
extern nsCaseConversionImp2* gCaseConv;
|
||||
|
||||
#endif
|
||||
|
@ -80,7 +80,8 @@ CreateNew##_name(nsISupports* aOuter, REFNSIID aIID, void **aResult) \
|
||||
|
||||
UNICHARUTIL_MAKE_CTOR(HankakuToZenkaku)
|
||||
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsCaseConversionImp2)
|
||||
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsCaseConversionImp2,
|
||||
nsCaseConversionImp2::GetInstance)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsEntityConverter)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSaveAsCharset)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeNormalizer)
|
||||
|
Loading…
Reference in New Issue
Block a user