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

git-svn-id: svn://10.0.0.236/trunk@78650 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
vidur%netscape.com
2000-09-10 02:28:11 +00:00
parent b455ce717d
commit 4c82d90f60
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);