Added parser service methods to aid external serialization. r=jst

This commit is contained in:
vidur@netscape.com
2000-09-10 02:28:11 +00:00
parent 8cb06ccb45
commit a001837b48
4 changed files with 60 additions and 4 deletions

View File

@@ -44,6 +44,7 @@
//#include "nsTextTokenizer.h"
#include "nsExpatTokenizer.h"
#include "nsIParserService.h"
#include "nsElementTable.h"
static NS_DEFINE_IID(kIParserServiceIID, NS_IPARSERSERVICE_IID);
@@ -59,7 +60,10 @@ public:
NS_IMETHOD HTMLIdToStringTag(PRInt32 aId, nsString& aTag) const;
NS_IMETHOD HTMLConvertEntityToUnicode(const nsString& aEntity,
PRInt32* aUnicode) const;
PRInt32* aUnicode) const;
NS_IMETHOD HTMLConvertUnicodeToEntity(PRInt32 aUnicode,
nsCString& aEntity) const;
NS_IMETHOD IsContainer(nsString& aTag, PRBool& aIsContainer) const;
};
nsParserService::nsParserService()
@@ -95,6 +99,25 @@ nsParserService::HTMLConvertEntityToUnicode(const nsString& aEntity,
return NS_OK;
}
NS_IMETHODIMP
nsParserService::HTMLConvertUnicodeToEntity(PRInt32 aUnicode,
nsCString& aEntity) const
{
const nsCString& str = nsHTMLEntities::UnicodeToEntity(aUnicode);
if (str.Length() > 0) {
aEntity.Assign(str);
}
return NS_OK;
}
NS_IMETHODIMP
nsParserService::IsContainer(nsString& aTag, PRBool& aIsContainer) const
{
PRInt32 id = nsHTMLTags::LookupTag(aTag);
aIsContainer = nsHTMLElement::IsContainer((eHTMLTags)id);
return NS_OK;
}
//----------------------------------------------------------------------
static NS_DEFINE_CID(kParserCID, NS_PARSER_IID);