It's unused except in test code (nsTestEntityTable). The patch removes that test code, which also removes testing for UnicodeToEntity conversion, but the test code wasn't being run anyway so it's no great loss. (UnicodeToEntity conversion is still used by nsHTMLContentSerializer::AppendAndTranslateEntities().)
91 lines
2.1 KiB
C++
91 lines
2.1 KiB
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsError.h"
|
|
#include "nsIAtom.h"
|
|
#include "nsParserService.h"
|
|
#include "nsHTMLEntities.h"
|
|
#include "nsElementTable.h"
|
|
#include "nsICategoryManager.h"
|
|
#include "nsCategoryManagerUtils.h"
|
|
|
|
nsParserService::nsParserService()
|
|
{
|
|
}
|
|
|
|
nsParserService::~nsParserService()
|
|
{
|
|
}
|
|
|
|
NS_IMPL_ISUPPORTS(nsParserService, nsIParserService)
|
|
|
|
int32_t
|
|
nsParserService::HTMLAtomTagToId(nsIAtom* aAtom) const
|
|
{
|
|
return nsHTMLTags::LookupTag(nsDependentAtomString(aAtom));
|
|
}
|
|
|
|
int32_t
|
|
nsParserService::HTMLCaseSensitiveAtomTagToId(nsIAtom* aAtom) const
|
|
{
|
|
return nsHTMLTags::CaseSensitiveLookupTag(aAtom);
|
|
}
|
|
|
|
int32_t
|
|
nsParserService::HTMLStringTagToId(const nsAString& aTag) const
|
|
{
|
|
return nsHTMLTags::LookupTag(aTag);
|
|
}
|
|
|
|
const char16_t*
|
|
nsParserService::HTMLIdToStringTag(int32_t aId) const
|
|
{
|
|
return nsHTMLTags::GetStringValue((nsHTMLTag)aId);
|
|
}
|
|
|
|
nsIAtom*
|
|
nsParserService::HTMLIdToAtomTag(int32_t aId) const
|
|
{
|
|
return nsHTMLTags::GetAtom((nsHTMLTag)aId);
|
|
}
|
|
|
|
NS_IMETHODIMP
|
|
nsParserService::HTMLConvertUnicodeToEntity(int32_t aUnicode,
|
|
nsCString& aEntity) const
|
|
{
|
|
const char* str = nsHTMLEntities::UnicodeToEntity(aUnicode);
|
|
if (str) {
|
|
aEntity.Assign(str);
|
|
}
|
|
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHODIMP
|
|
nsParserService::IsContainer(int32_t aId, bool& aIsContainer) const
|
|
{
|
|
aIsContainer = nsHTMLElement::IsContainer((eHTMLTags)aId);
|
|
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHODIMP
|
|
nsParserService::IsBlock(int32_t aId, bool& aIsBlock) const
|
|
{
|
|
if((aId>eHTMLTag_unknown) && (aId<eHTMLTag_userdefined)) {
|
|
aIsBlock=((gHTMLElements[aId].IsMemberOf(kBlock)) ||
|
|
(gHTMLElements[aId].IsMemberOf(kBlockEntity)) ||
|
|
(gHTMLElements[aId].IsMemberOf(kHeading)) ||
|
|
(gHTMLElements[aId].IsMemberOf(kPreformatted))||
|
|
(gHTMLElements[aId].IsMemberOf(kList)));
|
|
}
|
|
else {
|
|
aIsBlock = false;
|
|
}
|
|
|
|
return NS_OK;
|
|
}
|